码迷,mamicode.com
首页 > 编程语言 > 详细

C++中私有继承公有化

时间:2021-01-27 14:01:01      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:image   nbsp   int   include   ima   Speak   float   names   str   

当私有继承时,基类的所有public成员都变成了private。如果希望它们中的任何一个 是可视的,只要用派生类的public部分声明它们的名字即可:

#include<iostream>
using namespace std;

class Pet {
public:
char eat() const {return ‘a‘;}
int speak() const {return 2;}
float sleep() const {return 3.0;}
float sleep(int) const {return 4.0;}
};

class Goldfish : Pet {
public:
using Pet::eat;
using Pet::sleep;
using Pet::speak;
};

int main(){
Goldfish bob;
cout << bob.eat() <<‘\n‘;
cout << bob.sleep()<<‘\n‘;
cout << bob.sleep(1) <<‘\n‘;
cout << bob.speak();
}

技术图片

 

C++中私有继承公有化

标签:image   nbsp   int   include   ima   Speak   float   names   str   

原文地址:https://www.cnblogs.com/shiheyuanfang/p/14332672.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!