/*为了避免透传接口,在c++中使用using 关键字
如果派生类要使用基类的成员函数的话,可以通过使用using声明来完成
*/
#include<iostream>
using namespace std;
class Base
{
public:
Base();
Base(int i) :m(i) {}
int m;
void f(double x) { cout << "base x = " << x << endl; }
};
class Derived :public Base
{
public :
//注意,继承构造函数只会初始化基类中的成员变量,对于子类中的,可以设置默认值
//继承构造函数的使用情景:基类中有大量不同的构造函数,大量成员变量,B继承自A,B
//仅仅添加了一个新方法,这种时候,不必在B中重复写大量构造函数,使用继承构造函数的方法即可
using Base::Base;//继承构造函数
using Base::f;
void f(int x){ cout << "derived x = " << x << endl; }
virtual void calculate();
};
int main()
{
Base b;
b.f(4.5);
Derived d;
d.f(6.3);
}
C++11新特性学习笔记—继承构造函数的使用
最新推荐文章于 2024-05-04 10:00:08 发布