/*爲了避免透傳接口,在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新特性學習筆記—繼承構造函數的使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.