子类调用父类的构造函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子类调用父类的构造函数相关的知识,希望对你有一定的参考价值。

当子类在声明对象实例时,想显式调用父类的有参构函数。注意:不能在构造函数中直接调用父类的构造函数,否则会调用两次。应该通过参数列表来调用。代码如下:

class?MyClassA//父类
{
public:
	MyClassA(?CString?str?)
	{
		AfxMessageBox(str);
	}

	~MyClassA()
	{
	}

private:

};

class?MyClassB:public?MyClassA//子类
{
public:
	MyClassB():MyClassA(_T("子类参数"))//在此处调用父类有参构造函数
	{
	????//MyClassA(_T("子类参数"));	//不能在此处调用,否则会调用两次
	}

	~MyClassB()
	{
	}

private:

};

void?CtestThreadDlg::OnBnClickedButton15()
{
	MyClassB?a;
}


以上是关于子类调用父类的构造函数的主要内容,如果未能解决你的问题,请参考以下文章

C#中子类构造函数中如何调用父类构造函数

子类都会首先调用父类的构造函数吗?

c# 子类如何调用父类的构造函数

在java语言里如何在子类中调用父类的有参构造函数

PHP子类能否继承父类的构造方法?

java子类构造中怎么调用父类的构造函数