21xrx.com
2024-11-05 14:48:40 Tuesday
登录
文章检索 我的文章 写文章
如何在C ++继承中调用父类构造函数
2023-07-12 20:37:33 深夜i     --     --
C ++ 继承 调用 父类 构造函数

在C++中,继承是一个非常重要的概念,它可以让我们在已有的类的基础上创建新的类。在继承中,我们可以使用父类的函数、变量和代码,在子类中添加新的代码和行为。然而,在一些情况下,我们需要在子类中调用父类的构造函数。在本文中,我们将介绍如何在C++继承中调用父类构造函数。

如果我们想在子类的构造函数中调用父类的构造函数,我们可以使用“构造函数初始化列表”来实现。构造函数初始化列表是在构造函数中使用冒号“:”之后跟随的一个以逗号分隔的列表。这个列表中包含了类的构造函数参数和它的父类的构造函数参数。

下面是一个简单的例子:


#include <iostream>

using namespace std;

// 父类

class ParentClass {

public:

  ParentClass(int x) {

    cout << "ParentClass::ParentClass(" << x << ")" << endl;

  }

};

// 子类

class ChildClass : public ParentClass {

public:

  ChildClass(int x, int y) : ParentClass(x) {

    cout << "ChildClass::ChildClass(" << x << "," << y << ")" << endl;

  }

};

int main() {

  ChildClass child(1, 2);

  return 0;

}

在这个例子中,ParentClass是一个父类,它的构造函数需要一个整数参数。ChildClass是一个子类,它需要两个整数参数。在ChildClass的构造函数中,我们使用“构造函数初始化列表”来调用父类的构造函数,并将第一个参数传递给它。当我们使用下面的代码运行这个程序时:


ChildClass child(1, 2);

我们会得到以下的输出:


ParentClass::ParentClass(1)

ChildClass::ChildClass(1,2)

这表明ChildClass的构造函数首先调用了ParentClass的构造函数,然后才输出了子类的构造函数。

总结一下,当我们想在C++继承中调用父类的构造函数时,我们可以使用“构造函数初始化列表”来实现。我们只需要在子类的构造函数参数后面跟随一个冒号,然后再调用父类的构造函数即可。

  
  

评论区

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