随笔分类 - C++
摘要:指针类型通过 来访问属性 类对象通过 来访问属性 类外定义 .h 定义声明类 cpp实现定义头文件 使用对象 c include using namespace std; class student { public: student(); student(string name); string
阅读全文
摘要:C++静态(static) 和JAVA中的静态差不多 静态成员可以实现多个对象之间的数据共享,并且使用静态数据成员还不会破坏隐藏的原则,即保证了安全性。 因此,静态成员是类的所有对象中共享的成员,而不是某个对象的成员。 使用静态数据成员可以节省内存,不占用内存,只有在实现的时候,才会占用内存 声明静
阅读全文
摘要:如果不虚继承的话,父类对象每一次被调用都会被初始化 不加virtual关键词 输出结果
阅读全文
摘要:类对象定义 C++类访问修饰符 数据封装是面向对象编程的一个重要特点,它防止函数直接访问类类型的内部成员。类成员的访问限制是通过在类主体内部对各个区域标记 来指定的。关键字 称为访问修饰符。 公共(public)成员 公有 成员在程序中类的外部是可访问的。您可以不使用任何成员函数来设置和获取公有变量
阅读全文
摘要:防止内存泄露 子类继承父类后,在子类构造函数里,通过new 来生成一个对象实例 在析构函数里执行释放内存操作,如果父类不加上virtual 关键词 则子类执行的是父类的析构函数,不执行自己的析构函数。 父类不加virtual 子类继承后,并执行析构函数: 输出结果: 父类加上virtual关键词后,
阅读全文
摘要:如果一个类里面只有纯虚函数,没有其他成员函数和数据成员,就是接口类。 接口类: 实现类: Teacher 继承自接口类Person,并实现Person纯虚函数 cpp //.h 定义 class Student : public Teacher { public: Student(string co
阅读全文
摘要:限定符 变量 加上const会变成常量,不可更改值,相当于Java中的final 引用 在C++中引用属于复合类型 引用别名 类型别名 无条件跳转 类
阅读全文
摘要:友元函数: 测试: cpp include include / 友元函数 / using namespace std; class Match; class Time { friend Match;//友元类的声明 public: Time(int hour, int min, int sec);
阅读全文
摘要:C++纯虚函数(抽象类) 纯虚函数类似JAVA中的抽象类 如果父类有纯虚函数,子类继承时,如果不去实现这个函数,则不能被实例化 没有实现纯虚函数: 实现纯虚函数
阅读全文
摘要:构造函数,先执行父类的构造函数依次执行,销毁对象,是按照初识化构造函数顺序,倒叙执行。
阅读全文
摘要:浅拷贝 浅拷贝:拷贝后,两个对象会共同指向一个地址,如果有一个对象更改了数据,另一个对象也会受影响,删除对象话,可能会导致释放两次 cpp include include using namespace std; //.h class student { public: student(); stu
阅读全文
摘要:```cpp #include /** * C++多重继承 */ using namespace std; class Farmer { public: Farmer(string name = "jack"); ~Farmer(); void sow(); protected: string m_strName; }; class Worker { public: Worker(string c
阅读全文
摘要:C++编译过程 源文件(_.cpp) 目标文件(_.obj) 可执行文件( .exe) C++命名规则 只能使用字母字符数字和下划线(_) 第一个不能是数字 C++是区分大小写的 不能使用C++关键词 命名空间 指明来自哪个空间 头文件 有两种使用方式 基本数据类型 | 类型 | 大小 | | :
阅读全文
摘要:RTTI(Run Time Type Identification)运行时类型识别,类似JAVA中的多态 父类接口类: 子类实现 结果: 类型转换: 如果子类必须含有虚函数,否则不是多态,其次,必须事引用和指针才能类型转换 如下:
阅读全文
摘要:公有(public)继承 | 父类成员访问属性 | 继承方式 | 子类成员访问属性 | | : : | : : | : : | | private成员 | public | 无法访问 | | protected成员 | public | protected | | public成员 | public
阅读全文
摘要:C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。 C++ 标准模板库的核心包括以下三个组件: | 组件 | 描述 | | | | | 容器(Containers) | 容器是用来管
阅读全文
摘要:C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技
阅读全文
摘要:运算符重载关键词 相当于可以把运算符 重新定义为新的运算逻辑,例如之前的+ 号可以 运算int类型 如果重载这个+号,可以实现两个对象相加。 例子一:
阅读全文

浙公网安备 33010602011771号