21xrx.com
2024-11-05 17:30:03 Tuesday
登录
文章检索 我的文章 写文章
C++ 中子类如何继承父类构造函数?
2023-07-04 19:52:30 深夜i     --     --
C++ 子类 继承 父类构造函数

在C++中,当一个子类继承父类时,它不仅会继承父类的属性和方法,还会继承父类的构造函数。那么,子类如何继承父类的构造函数呢?

首先,需要明确一点,当子类继承父类时,子类必须通过父类的构造函数来初始化从父类继承的成员变量。这意味着子类必须调用父类的构造函数。而子类在构造函数中使用父类的构造函数来进行初始化,在C++中,这个过程称为"调用父类的构造函数"。

假设有一个简单的父类Person,它有一个公共的构造函数:

 c++

class Person{

protected:

  string name;

  int age;

public:

  Person(string name, int age)

    this->name = name;

    this->age = age;

  

};

然后,我们创建一个子类Student去继承Person:


class Student: public Person{

private:

  float score;

public:

  Student(string name, int age, float score) : Person(name, age)

    this->score = score;

  

};

可以看到,这里使用"冒号"来调用父类的构造函数。在派生类构造函数的参数列表中,指定了要传递给父类构造函数的参数。由于Person类的成员变量是保护属性,因此子类Student可以直接访问这些成员变量。

在调用父类的构造函数之后,子类构造函数可以继续对其自身进行初始化。在上述示例中,子类Student还有一个成员变量score需要进行初始化操作。

总而言之,当子类继承父类时,它必须调用父类的构造函数来初始化从父类继承的成员变量。子类可以使用"冒号"语法来调用父类的构造函数,在派生类构造函数的参数列表中指定需要传递给父类构造函数的参数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复