引用类型成员:
引用类型成员:
引用类型成员变量必须初始化(不考虑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){}
}