`

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继承是有用的。

分享到:
评论

相关推荐

    建立一个名为Student的类,该类有以下几个私有成员变量:学生姓名、学号、性别、年龄。还有以下两个成员函数:一个用于初始化学生姓名、学号、性别和年龄的构造函数,一个用于输出学生信息的函数。编写一个主函数。声明一个学学生对象。然后调用成员函数在屏幕输出学生信息。

    题目:建立一个名为Student的类,该类有以下几个私有成员变量:学生姓名、学号、性别、年龄。还有以下两个成员函数:一个用于初始化学生姓名、学号、性别和年龄的构造函数,一个用于输出学生信息的函数。编写一个...

    c.c++找工作面试重点结构图-mindmanager

    私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。 (1) 基类成员对其对象的可见性: 公有成员可见,其他成员不可见。 (2) 基类成员对派生类的可见性: 公有...

    C++讲义及习题指导

    (2)C++类中包含私有、公有和保护成员 类的访问控制机制体现在类的成员中可以有公有成员、私有成员和保护成员。对于外界而言,只需要知道对象所表现的外部行为,而不必了解内部实现细节。封装体现了面向对象方法的...

    c++复习题(考试专用)

    n 5. 在类体内允许对数据成员进行初始化。~n 6. 任何一个对象都是属于某个已知类的。~y 7. 同一个类所创建的若干个对象的数据结构是相同的,类中成员函数是共享的。~y 8. 类中所有成员函数都可以重载。~...

    鸡啄米:C++编程入门系列

    的访问控制之保护继承与私有继承) 鸡啄米:C++编程入门系列之三十九(继承与派生:派生类的构造函 数) 鸡啄米:C++编程入门系列之四十(继承与派生:派生类的析构函数) 鸡啄米:C++编程入门系列之四十一...

    Effective C++

    条款42:明智的使用私有继承 条款43:明智的使用多继承 条款44:说你想说的,理解你说的 6、杂项 条款45:弄清C++在幕后为你所写、所调用的函数 条款46:宁可编译与链接时出错,也不要运行时出错 条款47:确保非局部静态...

    代码讲解C++继承和派生

    继承是是指一个对象直接使用另一对象的属性和方法。 继承的作用: 1.描述客观事物的层次结构 2.... 3.复杂的系统层次化,提高代码的重用性 4....继承分为单继承,多继承 ...4、单继承之私有继承 1、多继承 多继承

    c++多态性与虚函数练习题

    1、定义一个类A,在A中有两个私有的整型变量a和b,定义构造函数对a和b进行初始化,并实现成员函数getA()和getB()分别取得a和b的值。定义类B为A的公有继承类,并定义同名成员函数getA(),使其返回a的2倍。主函数中...

    零起点学通C++多媒体范例教学代码

    10.3.2 成员变量的初始化与构造函数 10.3.3 复制构造函数 10.3.4 构造函数和new运算符 10.3.5 再谈默认构造函数 10.4.析构函数和delete运算符 10.4..1 默认析构函数 10.4.2 调用构造函数进行类型转换 10.5 浅层复制...

    零起点学通C++学习_多媒体范例教学代码

    10.3.2 成员变量的初始化与构造函数 10.3.3 复制构造函数 10.3.4 构造函数和new运算符 10.3.5 再谈默认构造函数 10.4.析构函数和delete运算符 10.4..1 默认析构函数 10.4.2 调用构造函数进行类型转换 10.5 ...

    开学了,有路网团购太便宜啦! C++编程惯用法(高级程序员常用方法和技巧)/深入C++系列(C++ Strategies and Tactics)

    4.3 私有继承 4.4 保护型继承 4.5 与基类抽象的一致性 4.6 纯虚函数 4.7 有关继承的细节和陷阶 4.8 小结 4.9 问题 第5章 多重继承 5.1 作为交集的多重继承 5.2 虚基类 5.3 一些有关多重继承的细节问题 5.4 小结 5.5 ...

    Absolute C++中文版(原书第2版)-完美的C++教程,文档中还包含英文版

    14.2.3 保护继承和私有继承 436 14.2.4 多继承 437 第15章 多态与虚函数 442 15.1 虚函数基础 442 15.1.1 后绑定 442 15.1.2 C++中的虚函数 443 15.1.3 抽象类和纯虚函数 448 15.2 指针和虚函数 451 15.2.1...

    C++复习资料之系列

    在一个C++程序中,main函数的位置( c )。 (a) 必须在程序的开头 (b) 必须在程序的后面 ( c ) 可以在程序的任何地方 (d) 必须在其它函数中间 2.用C++语言编制的源程序要变为目标程序必须要经过( d )。 (a) ...

    Effective.C++.中文第二版.50条款doc文档.chm

    条款42: 明智地使用私有继承 条款43: 明智地使用多继承 条款44: 说你想说的;理解你所说的 第七章 杂项 条款45: 弄清C++在幕后为你所写、所调用的函数 条款46: 宁可编译和链接时出错,也不要运行时出错 条款47: 确保...

    C++入门到精通

    本书故意省略了 C++标准库中的某些部分 比如对本地化和算术运算库的支持 C++标 准库非常广泛 要想介绍它的所有方面 则远远超出了本书的范围 在后面所附的参考文献 中 某些书更详细地讨论了该库 见 MUSSER96 和 ...

    浅析C#与C++相关概念的比较

    3、在C#中没有C++中的私有继承和保护继承,只有公有继承。 4、C#中可以通过关键字sealed把一个类声明为密封类,即不能被作为父类被继承出派出类,在C++中可通过把构造函数声明为private,让其不能被作为父类被继承出...

    c++模拟测试题

    N 8、类中提供了三种访问控制权:公有、私有、保护三种类型。Y 9、所谓继承就是利用已有的数据类型定义出新的数据类型。Y 10、静态成员函数没有 this 指针。Y 11、A 为类,执行语句 A a1,a2(2),*a3[3];调用了 A 的...

    易学C++(简单易懂的讲解)

    13.4从数组到向量……159 习题……161 第十四章再识对象……16214.1类是一种数据类型……162 14.2公有和私有……163 14.3成员函数……164 14.4对象、引用和指针……167 习题……167 第十五章造物者与毁灭者……171 ...

    C++数据抽象和问题求解(第6版).[美]Frank M. Carrano(带详细书签).pdf

    12.3.3 私有继承 356 第13章 队列和优先队列 363 13.1 ADT队列 364 13.2 ADT队列的简单应用 367 13.2.1 读取字符串 367 13.2.2 识别回文 368 13.3 ADT优先队列 369 13.4 应用:模拟 371 13.5 面向位置和面向...

    按以下描述和要求建立两个类:基类 Rectangle(矩形类) 和派生类 Cube(正方体)

    1. Rectangle 私有成员:  double x1, y1; //左下角的坐标  double x2, y2; //右上角的坐标 公有成员:  带缺省值的构造函数 Rectangle(double a=0,double b=0, double c=0, double d=0),对矩 形的...

Global site tag (gtag.js) - Google Analytics