`

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

分享到:
评论

相关推荐

    C++面向对象程序设计习题继承与派生.pdf

    私有继承的优点是可以继承基类的所有成员,但基类的公有成员和保护成员都变成私有成员。 保护继承是指基类中的公有成员和保护成员在派生类中都变成保护成员。基类中的私有成员在派生类中不可访问。保护继承的优点是...

    c++继承与派生

    本节课程主要介绍C++中继承与派生的概念和使用方法,包括公有继承、私有继承和保护继承等不同的继承方式。通过实验和实践,掌握继承与派生的基本概念和使用方法。 继承的概念 继承是面向对象编程中的一种机制,它...

    C++三种继承方式

    根据继承时成员的访问属性不同,C++提供了三种继承方式:公有继承(public)、保护继承(protected)以及私有继承(private)。本文将详细介绍这三种继承方式及其特点。 #### 二、公有继承(Public Inheritance) ...

    C++继承与派生课件

    - **私有继承(private)**:基类的所有成员在派生类中都被视为私有,包括原本的公有和保护成员。派生类内部可以访问基类的公有和保护成员,但外部代码不能直接访问基类的任何成员。 - **保护继承(protected)**...

    C++远征之继承篇学习笔记之一

    - 在私有继承中,基类的所有成员都变成了派生类中的私有成员,这意味着只有派生类本身能够访问这些成员。 - 这种继承方式通常用于实现细节的封装,即希望某些成员只在派生类内部可用。 综上所述,选择哪种继承...

    C++实验五 继承与派生的应用 课程 实验报告

    `public`继承保持基类的公共成员在派生类中的访问性不变,`protected`继承使基类的保护成员在派生类中变为保护,`private`继承则使基类的公有和保护成员在派生类中变为私有。 4. **构造函数和析构函数的使用**:...

    c++继承与派生的相关资料

    公开成员成为派生类的公有成员,保护成员成为派生类的保护成员,而私有成员对于派生类仍然是不可见的。这意味着派生类的任何对象都可以直接访问基类的公有成员,而派生类内的成员函数可以访问基类的所有成员,包括...

    c++继承与派生习题答案

    2.1 派生类可以通过使用基类的指针或引用来实现对基类私有成员的访问。 2.2 类型兼容规则是指在c++中,派生类可以兼容基类的类型,从而实现多态性。 2.3 派生类的构造函数是按照基类构造函数的逆序执行的,析构...

    c++继承的视频

    - **私有继承(private)**:基类的公有和保护成员在子类中变为私有。 - **保护继承(protected)**:基类的公有成员在子类中变为保护,保护成员保持不变。 4. **虚函数与多态** - **虚函数(virtual function)...

    c++ 的封装继承多态例子

    同时,这些类可能会有私有数据成员,以及公有构造函数和访问器方法,体现封装特性。如果文件中还有其他类,可能是为了展示如何通过继承和多态构建复杂的类层次结构。 通过学习和实践这些例子,开发者能够更好地理解...

    C++重点复习题(多态和继承).doc

    在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的私有成员。基类的保护或者基类公有都可以直接访问,基类的私有成员只能是基类的成员函数来访问。 六、基类和派生类的关系 派生...

    c++继承分类

    6. 继承中的访问控制:解释公有继承、保护继承和私有继承的区别,以及它们对子类访问权限的影响。 7. 小结和最佳实践:总结继承的使用场景,提供关于何时以及如何使用继承的最佳实践。 通过学习这个视频教程,你将...

    类的继承练习_inheritance_类的继承练习_C++_pineoce_

    - `public`继承:父类的公有成员在子类中仍然是公有的,保护成员变为子类的保护成员,私有成员对子类不可见。 - `private`继承:父类的公有和保护成员在子类中都变为私有,私有成员仍然对子类不可见。 - `...

    C++继承与派生

    私有继承下,基类的公有和保护成员在派生类中将变为私有;而保护继承则使得基类的公有成员在派生类中变为保护成员。 #### 5.2 派生类的构造函数和析构函数 派生类的构造函数需要调用基类的构造函数来初始化继承自...

    c++ 习题 派生类和继承

    公有继承使基类的公有和保护成员在派生类中保持相同访问权限,私有继承只保留私有成员,而保护继承则使基类的公有成员变为保护成员。 2. **成员访问**:在公有派生时,基类的公有成员变为派生类的公有成员,保护...

    C++ 继承详解 ppt C++ 继承详解(4)

    - **私有继承(private)**:基类中的 `public` 和 `protected` 成员在派生类中变为 `private`。 - **保护继承(protected)**:基类中的 `public` 成员在派生类中变为 `protected`。 - **公有继承(public)**:基类的 `...

    Absolute C++中文版(6)

    在私有继承中,基类的公有和保护成员在派生类中都变为私有成员。 继承的多态性允许派生类覆盖基类中的方法,即重定义方法。重定义时,派生类中的方法声明必须与基类中的声明完全一致,但是实际的行为可以根据派生类...

Global site tag (gtag.js) - Google Analytics