C++之对象类型的参数和返回值
对象作为函数的参数或者作为返回值可能会产生中间对象
对象作为函数的参数或者作为返回值可能会产生中间对象
编译器默认的提供的拷贝是浅拷贝(shallow copy) 将一个对象中所有成员变量的值拷贝到另一个对象 如果某个成员变量是个指针,只会拷贝指针中存储的地址值,并不会拷贝指针指向的内存空间 可能会导致堆空间多次free的问题
拷贝构造函数是构造函数的一种 当利用已存在的对象创建一个新对象时(类似于拷贝),就会调用新对象的拷贝构造函数进行初始化 拷贝构造函数的格式是固定的,接收一个const引用作为参数```swift// 拷贝构造函数(格式是固定的)Car(c...
const成员:被const修饰的成员变量、非静态成员函数const修饰成员变量 1.必须初始化(类内部初始化),可以在声明的时候直接初始化赋值 2.非static的const成员变量还可以在初始化列表中初始化 class Car {p...
静态成员经典应用 – 单例模式
静态成员:被static修饰的成员变量\函数
菱形继承菱形继承带来的问题 1.最底下子类从基类继承的成员变量冗余、重复 2.最底下子类无法访问基类的成员,有二义性
同名函数
多继承C++允许一个类可以有多个父类(不建议使用,会增加程序设计复杂度)