首页 > 代码库 > 继承名称的掩盖
继承名称的掩盖
/////////////////////////////////////////////////////////////////////////////////// FileName : effect_item33.h// Version : 0.10// Author : Ryan Han// Date : 2013/07/26 16:50:14// Comment : /////////////////////////////////////////////////////////////////////////////////#ifndef EFFECT_ITEM33_H#define EFFECT_ITEM33_Hclass base{public: virtual void mf1() = 0; virtual void mf1(int); virtual void mf2(); void mf3(); void mf3(double);private: int x;};class derive : public base {public: using base::mf1; void mf1(); void mf4();private: int y;};#endif
/////////////////////////////////////////////////////////////////////////////////// FileName : effect_item33.cpp// Version : 0.10// Author : Ryan Han// Date : 2013/07/26 16:50:14// Comment : /////////////////////////////////////////////////////////////////////////////////#include "effect_item33.h"#include <iostream>using namespace std;void base::mf1() { cout << "base::mf1() was called." << endl;}void base::mf1(int) { cout << "base::mf1(int) was called." << endl;}void base::mf2() { cout << "base::mf2() was called." << endl;}void base::mf3() { cout << "base::mf3() was called." << endl;}void base::mf3(double) { cout << "base::mf3(double) was called." << endl;}void derive::mf1() { cout << "derive::mf1() was called." << endl;}void derive::mf4() { cout << "derive::mf4() was called." << endl;}
/////////////////////////////////////////////////////////////////////////////////// FileName : effect_item33_client.cpp// Version : 0.10// Author : Ryan Han// Date : 2013/07/26 16:50:14// Comment : // Output :// $ ./a///////////////////////////////////////////////////////////////////////////////#include "effect_item33.h"#include <iostream>using namespace std;int main() { derive d; d.mf1(); d.mf1(3); return 0;}
继承类中的成员函数将覆盖基类中的同名函数,不论virutal不virtual,和参数是否相同,基类中的函数一律不再可见。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。