1、运算符重载
运算符重载的目的是使C++代码更直观、更易懂。重载运算符和优先级不变。重载形式为:
返回类型 operator 运算符号(参数说明)
运算符中参数说明是内部类型时不能重载。
运算符重载的目的是使C++代码更直观、更易懂。重载运算符和优先级不变。重载形式为:
返回类型 operator 运算符号(参数说明)
运算符中参数说明是内部类型时不能重载。
2、拷贝构造函数
如果显示申明了,那么隐式拷贝构造函数就不会调用(不会按位复制,但vptr还是会进行拷贝)
?子类显示拷贝函数的调用会导致父类无法调用其显示拷贝构造函数而是调用父类显示构造函数
--阅读深度探索C++寻找答案
切割是会生成临时对象,不会对切割的源对象造成影响
如果显示申明了,那么隐式拷贝构造函数就不会调用(不会按位复制,但vptr还是会进行拷贝)
?子类显示拷贝函数的调用会导致父类无法调用其显示拷贝构造函数而是调用父类显示构造函数
--阅读深度探索C++寻找答案
切割是会生成临时对象,不会对切割的源对象造成影响
3、所以说,虚函数与虚析构函数的作用是不同的。虚函数是为了实现多态,而虚析构函数是为了同时运行父类和子类的析构函数,使资源得以释放。