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

Posted sec875

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

以上是关于const成员-拷贝构造函数(copy constructor)的主要内容,如果未能解决你的问题,请参考以下文章

C++类和对象(构造函数析构函数拷贝构造函数赋值运算符重载Const成员)详细解读

C++类和对象(构造函数析构函数拷贝构造函数赋值运算符重载Const成员)详细解读

C++类和对象(构造函数析构函数拷贝构造函数赋值运算符重载Const成员)详细解读

C++类与对象第二篇:(构造函数析构函数拷贝构造运算符重载取地址及const取地址操作符重载)

C++类和对象

C++之类和对象