C++引用类型成员与拷贝构造函数

引用类型成员:

引用类型成员:
     引用类型成员变量必须初始化(不考虑static情况).
     在声明的时候直接初始化
     通过初始化列表初始化
     
     class Car {
         int age;
         int &m_price = age;
         public:
         Car(int &price):m_price(price){
     
         }
     };

拷贝构造函数(Copy Constructor)

 拷贝构造函数是构造函数的一种,构造函数的作用是初始化成员变量.
     当利用已存在的对象创建一个新对象时(类似于拷贝),就会调用新对象的拷贝构造函数进行初始化.
     拷贝构造函数的格式是固定的,接收一个const引用作为参数.
     class Car {
         int m_price;
         int m_length;
         public:
         Car(int price = 0, int length = 0):m_price(price),m_length(length){
         cout << "Car(int price = 0, int length = 0)" << endl;
         }
      
      // 拷贝构造函数(格式是固定的)
         Car(const Car &car){
         this->m_price = car.m_price;
         this->m_length = car.m_length;
         cout << "const Car &car" << endl;
         }
         void display(){
         cout << " price = " << this->m_price << ",length =" << this->m_length<< endl;
         }
     };
     
     int main() {
         Car car();
         Car car1(100,5);
         Car car2(car1);// 等价于 Car car2 = car1;
         getchar();
         return 0;
     }
     

     class Person {
         int m_age;
         public:
         Person(int age = 0):m_age(age) {}
         Person(const Person &person):m_age(person.m_age){}
     };
     
     class Student:public Person {
         int m_score;
         public:
         Student(int age = 0,int score = 0):Person(age),m_score(score){}
         Student(const Student &student):Person(student),m_score(student.m_score){}
     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值