构造函数传入父类指针的原理
时间: 2023-08-15 08:13:21 浏览: 98
在C++中,当我们定义一个类时,可以使用继承关键字来指定该类继承自另一个类。这个被继承的类被称为父类或基类,而继承它的类被称为派生类或子类。派生类可以访问父类的公共成员和受保护成员,但不能访问私有成员。
当我们创建一个派生类对象时,它包含了父类对象的所有属性和方法,因此需要调用父类的构造函数来初始化这些属性和方法。这时候就需要使用构造函数传入父类指针的方法。
具体来说,派生类的构造函数需要在其成员初始化列表中调用父类的构造函数,以初始化父类的成员变量。在构造函数的参数列表中,我们可以传入一个指向父类对象的指针,这个指针指向的是当前派生类对象中的父类部分。使用这个指针,我们就可以在构造函数中调用父类的构造函数。
例如:
```
class Parent{
public:
Parent(int value):m_value(value){}
private:
int m_value;
};
class Child : public Parent{
public:
Child(int value1, int value2) : Parent(value1), m_value(value2){}
private:
int m_value;
};
```
在上面的例子中,Child类继承自Parent类,Child类的构造函数需要在成员初始化列表中调用Parent类的构造函数,并通过传入value1参数来初始化Parent类中的m_value成员变量。同时,Child类还有自己的m_value成员变量,可以在构造函数中直接初始化。
阅读全文