子类继承父类后,当创建子类对象,也会调用父类的构造函数 问题:父类和子类的构造和析构顺序是谁先谁后? 示例: 总结:继承中 先调用父类构造函数,再调用子类构造函数,析构顺序与...
子类继承父类后,当创建子类对象,也会调用父类的构造函数 问题:父类和子类的构造和析构顺序是谁先谁后? 示例: 总结:继承中 先调用父类构造函数,再调用子类构造函数,析构顺序与...
问题:从父类继承过来的成员,哪些属于子类对象中? 示例: 利用工具查看: 打开工具窗口后,定位到当前CPP文件的盘符 然后输入: cl /d1 reportSingleCla...
继承方式 继承的语法:class 子类 : 继承方式 父类 继承方式一共有三种: 公共继承 保护继承 私有继承 示例:
继承的基本语法 例如我们看到很多网站中,都有公共的头部,公共的底部,甚至公共的左侧列表,只有中心内容不同 接下来我们分别利用普通写法和继承的写法来实现网页中的内容,看一下继承...
函数调用运算符重载 函数调用运算符 () 也可以重载 由于重载后使用的方式非常像函数的调用,因此称为仿函数 仿函数没有固定写法,非常灵活 示例:
关系运算符重载 作用:重载关系运算符,可以让两个自定义类型对象进行对比操作 示例:
赋值运算符重载 c++编译器至少给一个类添加4个函数 默认构造函数(无参,函数体为空) 默认析构函数(无参,函数体为空) 默认拷贝构造函数,对属性进行值拷贝 赋值运算符 op...
递增运算符重载 作用: 通过重载递增运算符,实现自己的整型数据 总结: 前置递增返回引用,后置递增返回值
左移运算符重载 作用:可以输出自定义数据类型 总结:重载左移运算符配合友元可以实现输出自定义数据类型
加号运算符重载 作用:实现两个自定义数据类型相加的运算 总结1:对于内置的数据类型的表达式的的运算符是不可能改变的 总结2:不要滥用运算符重载
友元 生活中你的家有客厅(Public),有你的卧室(Private) 客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去 但是呢,你也可以允许你的好闺蜜...
const修饰成员函数 常函数: 成员函数后加const后我们称为这个函数为常函数 常函数内不可以修改成员属性 成员属性声明时加关键字mutable后,在常函数中依然可以修改...
空指针访问成员函数 C++中空指针也是可以调用成员函数的,但是也要注意有没有用到this指针 如果用到this指针,需要加以判断保证代码的健壮性 示例:
成员变量和成员函数分开存储 在C++中,类内的成员变量和成员函数分开存储 只有非静态成员变量才属于类的对象上 this指针概念 每一个非静态成员函数只会诞生一份函数实例,也就...
静态成员 静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员 静态成员分为: 静态成员变量所有对象共享同一份数据在编译阶段分配内存类内声明,类外初始化 静...
初始化列表 作用:C++提供了初始化列表的语法,用来初始化属性 语法:构造函数():属性1(值1),属性2(值2)……{} 示例: Person(int a,int b,in...
深拷贝与浅拷贝 深浅拷贝是面试经典问题,也是常见的一个坑 浅拷贝:简单的复制拷贝操作 深拷贝:在堆区重新申请空间,进行拷贝操作 **总结:如果属性有在堆区开辟的,一定要自己提...
拷贝构造函数调用时机 C++中拷贝构造函数调用时机通常有三种情况 使用一个已经创建完毕的对象来初始化一个新对象 值传递的方式给函数参数传值 以值方式返回局部对象 示例: 构造...
C++中的面向对象来源于生活,每个对象都会有初始设置以及对象销毁前的清理数据的设置。 对象的初始化和清理也是两个非常重要的安全问题 C++利用了构造函数和析构函数解决上述问题...
设计一个圆形类(Circle),和一个点类(point),计算点和圆的关系 圆的头文件 点的头文件 圆的源文件 点的源文件 主函数 重点: 在一个类中定义的私有成员属性时,可...