C++核心编程:类设计与应用、内联函数及函数重载.pdfVIP

  • 1
  • 0
  • 约2.29千字
  • 约 2页
  • 2026-02-11 发布于北京
  • 举报

C++核心编程:类设计与应用、内联函数及函数重载.pdf

1设计类、求圆的周长

1.1关键字class

1.2class+类名{成员}

1.3类的构成:成员函数+成员属性

1.4作用域public:公共作用域

1.5属性:半径

1.6行为:求圆周长、设置圆半径、获取圆半径

1.7测试:实例化对象通过类创建对象Circlec1;

1.8给对象赋值c1.setR(10)获取半径c1.getR();获取周长c1.calculateZC();

1.9设计一个学生类,有和学号,给学号赋值,并且打印学生的信息

2内联函数

2.1内联函数的引出宏函数

2.1.1必须保证运算完整性,加括号

2.1.2即使加了括号,有些情况依然和预期结果不符

2.1.3宏函数也不重视作用域

2.2内联函数inline

2.3函数必须同时加inline才算内联函数

2.4类成员函数默认前面加了inline关键字

2.5内联函数和编译器关系

2.5.1加入内联后只是对编译器的一个建议,有些情况下编译器依然不会按照内联

方式处理函数

2.5.2循环、判断、函数体过于庞大、对函数取地址,不会按照内联处理

2.5.3一个好的编译器,会将短小的函数隐藏的加入inline关键字

3函数的默认参数以及占位参数

3.1默认参数

3.1.1在形参后面=默认值

3.1.2如果参数列表中有一位置有了默认参数,那么从这个位置起从左到右都必

须有默认参数

3.1.3函数的只能有一个有默认参数

3.2占位参数

3.2.1函数参数列表中(int)只写类型,调用必须要传入参数调用

3.2.2占位参数也可以有默认参数(int=0)

3.2.3目前用不到占位参数,后面学习符号重载才会用到

4函数重载

4.1满足条件

4.1.1同一个作用域,函数名称相同

4.1.2函数参数类型、个数、顺序不同

4.2函数的返回值不可以作为函数重载条件

4.3加入const和不加const也可以作为重载条件

4.4函数重载碰到函数默认参数也需要注意避免二义性

5externC浅析

5.1函数重载原理编译器在底层会将函数名字做两次修饰,方便函数体

5.2用途:在C++下可以运行C语言的文件

5.3#ifdef__cplusplus两个下划线+cplusplus

5.3.1externC{

5.4#endif

5.5#ifdef__cplusplus

5.5.1}

5.6#endif

6类的封装

6.1C语言的封装

6.1.1缺点:C语言下没有做类型转换的检测

6.1.2缺点2:将属性和行为分离

6.2C++封装

6.2.1将属性和行为整体,来表现生活中的事物

6.2.2将这些成员加以权限控制

6.3权限

6.3.1public公有权限

文档评论(0)

1亿VIP精品文档

相关文档