论坛首页 编程语言技术论坛

C++ 对私有继承成员公有化

浏览 2051 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-02-03  
C++

当私有继承时,基类的所有p u b l i c成员都变成了p r i v a t e。如果希望它们中的任何一个是可
视的,只要用派生类的p u b l i c选项声明它们的名字即可。

#include <iostream>
using namespace std;

class base{
public:
	void f(){
		cout << "f()" << endl;
	}
	void g(){
		cout << "g()" << endl;
	}
	void h(){
		cout << "h()" << endl;
	}
};

class derive: private base{
public:
   base::f;
   base::g;   
};

void main(){
  derive der;
  der.f();
  der.g();
 // der.h(); //error 
}

 这样,如果想要隐藏这个类的基类部分的功能,则p r i v a t e继承是有用的。

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics