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

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);

猜你喜欢

转载自www.cnblogs.com/sec875/p/12328947.html