3.1 类
一 形式
二 成员函数
1 . 定义
成员函数可以放在类体内;
也可以放在类体外,但必须在类体内给出原型说明,并使用作用域符号
2 . 实例
3.内联函数:
1.隐式内联 类里定义的默认内联
2.外部+inline内联 必须在定义时表明,声明时标明会被忽略(换言之,想要写 外面还是内联函数,外面定义必加inline)
3.内联函数和普通函数和宏
1. 参数传递机制相同,但每处调用内联函数的地方将内联函数内容展开,这样避免了函数调用的开销又没有宏机制的缺陷(见4)
2. 普通函数在被调用的时候,系统首先要到函数的入口地址去执行函数体,执行完成之后再回到函数调用的地方继续执行,函数始终只有一个复制。
内联函数不需要寻址,当执行到内联函数的时候,将此函数展开,如果程序中有N次调用了内联函数则会有N次展开函数代码(换言之,存在多份相同的函数拷贝)
3. 内联函数限制:内联函数体要求代码简单,不能包含复杂的结构控制语句。如果内联函数函数体过于复杂,编译器将自动把内联函数当成普通函数来执行
4.宏的另一个缺点是不可调试。
内联机制既具备宏代码的效率,又增加了安全性,而且可以自由操作的类的数据成员,所以应该尽量使用内联函数来取代宏代码。
——————参考文章链接:https://blog.csdn.net/weixin_41786584/article/details/82756515
3.2 对象
一 基本几种
声明类Point的对象:
Point p1,p2;
Point p[3];
Point *p3;
Point &rp=p1; //给p1取了别名rp ?
二 访问
Point p1;
Point *xp;
1. 圆点 p1.x 或 (*xp).x
2. 指针 xp->x 或 (&p1)>x