内联函数
●给编译器一个建议,加上关键字,编译器不一定按照内联处理
●不加关键字,也许编译器还偷摸的给你加inline
●成员函数 默认加上inline关键字
https://blog.csdn.net/qq_18343569/article/details/83755202
●函数声明加了关键字,函数实现也要加inline关键字
默认参数
●实现:void func(int a = 10)
●注意:
如果有一个位置有了默认值,那么从这个位置开始,从左往右都必须有默认值
函数声明和实现 只能有一个有默认值
函数重载
重载条件:函数名称相同 又在同一个作用域下 ,函数参数个数不同、类型不同、顺序不同,是否const都可以满足重载条件;函数的返回值不可以作为函数重载条件
原理:编译器改变了函数名称
extern C
●问题:c语言不支持重载 include c语言文件 编译c语言文件会找不到这个函数
●作用:按照c方法连接,不给函数改名,解决了C++文件中调用C语言的代码
●使用:
Extern “C” void show();//show方法按照c方法连接,不给函数改名
多个函数时:
封装
●概念:将属性和行为作为一个整体,来表示生活中具体的事物
●封装性:改动一块代码,要改变的代码数越少,封装性越好(effective c++)
●class和struct:class 和struct唯一区别 默认权限不同
●权限:
public 是类内类外都可以访问到
protected 类内可以,类外不可以,派生类可以
private 类内可以,类外不可以,派生类也不可以
●使用:建议将所有成员属性设置为私有,自己提供公共的对外接口来进行 set或者get方法访问,可以在set里进行判断设置的值合不合法