C++11 委派构造用法

发布时间:2023年12月20日

重点:

1.委派构造优势在于

(1)如果继承它的子类构造不需要参数,则它直接继承基类的构造,节省代码空间。

(2)如果没有代码使用基类的构造函数,它不就会产生多余的代码。

缺点:

如果继承的基类的构造函数有自身的参数,这就不太适用。

初始代码:

class TestA
{
public:
	TestA(int a) { m_a = a; }
	void Get() { std::cout << m_a << std::endl; };
	int m_a;
};

class TestB:public TestA
{
public:
	TestB(int a):TestA(a){}

};

int main() {
	TestB b(10);
	b.Get();
	return 0;
}

委派构造:


class TestA
{
public:
	TestA(int a) { m_a = a; }
	void Get() { std::cout << m_a << std::endl; };
	int m_a;
};

class TestB:public TestA
{
public:
	using TestA::TestA;
};

int main() {
	TestB b(10);
	b.Get();
	return 0;
}

文章来源:https://blog.csdn.net/qq_38409301/article/details/135104599
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。