C++ 类class 学习笔记

只要父类中的private成员,不管是什么继承方式,儿子都访问不了

如果是公有(public)继承,儿子中的访问控制权限保持不变

如果是保护(protect)继承,儿子中父亲中除了private成员,其余在儿子中都是protected

如果是私有(private)继承,儿子中的父亲除了private成员,其余在儿子中都是private成员

三看原则 :
1.看调用的成员变量是在类的内部还是类的外部
2.看儿子继承方式
3.当前变量在儿子中的变量在父亲中的访问控制权限

#类的兼容性原则#
子类对象可以当做父类对象使用
子类对象可以直接赋值给父类对象
子类对象可以直接初始化父类对象

父类指针可以直接指向子类对象
父类引用可以直接引用子类对象

为什么要用友元函数(friend)?
成员函数在执行功能的时候,如果需要多次访问类的私有成员,这时候就需要多次进栈出栈操作,内存占有率高,为了优化程序,提高内存使用效率,所以采用友元函数,目的是赋予函数能够直接访问类的私有成员的功能。

类为什么需要成员函数?

class Cricle:
{
public:
double r;
double area=pirr;
double pi=3.1415926;
}
int main(){
Circle r1;
cin>>r1;
cout<<r1.area<<endl;

return 0; 

}
程序开始先为各成员开辟内存空间,然后初始化,主程序在给r1赋值时候,其并没有传入pirr中,所以我们需要用成员函数讲r1值代入面积计算公式中,并返回计算的面积给成员函数,这样我们通过直接调用成员函数就能够取得面积值。

inline内联函数

         用关键字inline声明的函数能够代替宏代码片段

内联函数由 编译器处理 ,直接将编译后的函数体插入调用的地方
宏代码片段 由预处理器处理 ,进行简单的文本替换,没有任何编译过程

内联编译限制:
不能存在任何形式的循环语句
不能存在过多的条件判断语句
函数体不能过于庞大
不能对函数进行取址操作
内联声明必须在调用语句之前

C++中的宏

宏又称宏替换、宏代替。
格式: #define 标识符 字符串
预处理(预编译)工作也叫宏展开:将宏名替换为字符串

宏的用处:可以提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改

注意:1.“”内不会被宏替换。 2.宏定义前面的必须是合法的用户标识符

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值