const成员-拷贝构造函数(copy constructor)

て烟熏妆下的殇ゞ 提交于 2020-02-18 22:19:30

const成员

  • const成员:被const修饰的成员变量、非静态成员函数
  • 必须类里面初始化
class Car {
public:
    const int m_price = 0;    //const常量设置
    Car() :m_price(0) {}    //也可以在构造函数中初始化
    void run() const {    //const一般写最后
        cout << "run()" << endl;

        m_price = 10;
    }
};

const成员函数

  • 两个同名函数构成了重载
void run() const {}
void run() {}

引用类型成员变量必须初始化

int age;
int & m_price = age;
car(int &price) :m_price(price) {}

拷贝构造函数(copy constructor)

  • 拷贝构造函数是构造函数的一种
  • 当利用已存在的对象创建一个新对象时(类似于拷贝),就会调用新对象的拷贝构造函数进行初始化
//拷贝构造函数
Car(const Car &car) {
    cout << "Car(const Car &car)" << endl;
}
Car car4(car3);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!