摘要: 2022.01.13.this指针 全局对象生命周期:程序开始创建-程序退出(销毁)被回收 静态全局对象生命周期:程序开始创建-程序退出(销毁)被回收 从栈区局部对象,遇到函数的返回或者} 生命周期结束,自动回收 非静态类成员属性,属于对象,在定义对象时存在,定义多个对象成员属性存在多分,彼此之间互不影响 类成员函数:属于这个类的,不 阅读全文
posted @ 2023-01-06 15:58 Rainzzxy 阅读(59) 评论(0) 推荐(0)
摘要: 2022.01.18.类之间的横向关系 组合:部分与整体,包含与被包含有生命周期约束关系 它是一种“is a part of”的关系(部分与整体)。组合是一个类中包含另一个类对象。相比聚合,组合是一种强所属关系,组合关系的两个对象往往具有相同的生命周期,被组合的对象在组合对象常见的同时或者之后创建,在组合对象销毁之前销毁,一般来说,被组合 阅读全文
posted @ 2023-01-06 13:08 Rainzzxy 阅读(100) 评论(1) 推荐(0)
摘要: 父类(基类) class CFather{ public: int m_a; int m_money; /*CFather(){ m_a=30; m_money=100; }*/ CFather(int a,int b){ m_a=a; m_money=b; } ~CFather(){ cout<< 阅读全文
posted @ 2023-01-06 13:07 Rainzzxy 阅读(47) 评论(0) 推荐(0)
摘要: #include<iostream> using namespace std; class CTest{ public: const int m_a; mutable int m_b;//关键字:mutable 在常函数中可以修改 //初始化参数列表:真正初始化类成员的地方,const 成员的初始化 阅读全文
posted @ 2023-01-06 13:07 Rainzzxy 阅读(57) 评论(0) 推荐(0)
摘要: 在继承下,允许未经转换,父类的指针可以指向子类指针 父类的指针可以指向子类对象:同意多种类型,提高复用性,扩展性 在调用继承于同一个父类的多个子类的同一个函数时,可以使用父类的指针可以指向子类对象,提高复用性,扩展性 定义函数指针 void play(){ cout<<"play"<<endl; } 阅读全文
posted @ 2023-01-06 13:06 Rainzzxy 阅读(57) 评论(0) 推荐(0)
摘要: 多态的缺点:1.虚函数指针在每个对象中都会存在一份,虚函数列表列表中每个类存在一份,空间问题2.效率问题3.安全性问题 抽象类:包含纯虚函数的类成为抽象类,不能定义对象 纯虚函数,只声明 不用实现 最终的子类一定要定义实现纯虚函数 关键字override被他修饰的函数必须是重写父类 阅读全文
posted @ 2023-01-06 12:38 Rainzzxy 阅读(51) 评论(0) 推荐(0)
摘要: 程序生成的过程:1. 预处理: .i文件 头文件的展开: 宏的替换 预处理指令解析 #ifndef ,#if #ifdef #else #elif #endif 去掉注释2.编译: 预处理后的文件 生成汇编文件 .asm(汇编代码) 词法解析、语法解析、语义分析、优化3.汇编:汇编文件进一步处理 , 阅读全文
posted @ 2023-01-06 12:17 Rainzzxy 阅读(79) 评论(0) 推荐(0)
摘要: 重载操作符operator:在程序中与到这个符号,通过调用当前重载操作符函数来行使操作符的功能,一般是有返回值,为了和后续的操作符继续操作,匹配操作符 根据 重载操作符函数的参数的类型、顺序、数量类内重载: this ,作为类成员函数的第一个参数,通过当前类对象去调用,一般在操作的左边,可以手动显式 阅读全文
posted @ 2023-01-06 11:38 Rainzzxy 阅读(67) 评论(0) 推荐(0)
摘要: #include<iostream> #include<list> #include<algorithm> using namespace std; //iterator 迭代器:遍历容器(list) void show(int v){ cout<<v<<" "; } int main(){ lis 阅读全文
posted @ 2023-01-06 11:38 Rainzzxy 阅读(37) 评论(0) 推荐(0)