栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++11学习——继承构造函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++11学习——继承构造函数

什么是继承构造函数

指的是派生类通过使用using关键字可以继承基类中的构造函数。
事实上using关键字可以继承基类中的任何函数。

class A {
public:
	A(int a_) {
		a = a_;
	}
	int a;
};
class B :public A {
	using A::A;
};

上述代码说的是类B继承类A,通过using关键字继承A的构造函数(本来A的构造函数不是虚函数,B是不能直接调用的),那么类B就可以调用类A的构造函数来初始化一些公有变量。

为什么要有继承构造函数

书中提到的是,在基类有多个构造函数的时候,由于派生类是不能继承基类的构造函数的,需要重新书写构造函数。简单的using语句可以使得派生类使用基类的构造函数来初始化一些基类的变量。

注意的点

1、基类构造函数的的参数的默认值是不会被继承的 原文是这样说的,但是我用visual C++编译是可以继承默认值的
2、一旦使用继承构造函数,编译器不会自动生成默认构造函数

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/913628.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号