首页 > 代码库 > 多重继承--判断
多重继承--判断
/** Copyright (c) 2013, 烟台大学计算机学院* All rights reserved.* 作 者:马广明* 完成日期:2014 年 5 月 13 日* 问题介绍: 继承的判断* 版 本 号:v1.0*/#include <iostream>using namespace std;class Animal //动物类{public: Animal() {} void eat(){ cout << "eat\n"; }protected: void play() { cout << "play\n"; }private: void drink() { cout << "drink\n"; }};class Giraffe: public Animal //长颈鹿类{public: Giraffe() {} void StrechNeck() { cout << "Strech neck \n"; }private: void take() { eat(); // 正确,公有继承下,基类的公有成员对派生类可见 drink(); // 正确,公有继承下,基类的保护成员对派生类可见 play(); // 不正确,公有继承下,基类的私有成员对派生类不可见 }};int main(){ Giraffe gir; //定义派生类的对象 gir.eat(); // 正确,公有继承下,基类的公有成员对mian函数可见 gir.play(); // 不正确,保护成员对mian函数不可见 gir.drink(); // 不正确,私有成员对mian函数不可见 gir.take(); // 不正确,私有成员对mian函数不可见 gir.StrechNeck(); // 正确,公有成员对mian函数可见 Animal ani; ani.eat(); // 正确,基类的公有函数对mian函数可见 ani.play(); // 不正确,保护成员对mian函数不可见 ani.drink(); // 不正确,私有成员对mian函数不可见 ani.take(); //错误,派生类的成员对基类对象(不论访问属性)不可见 ani.StrechNeck(); // 错误,派生类的成员对基类对象(不论访问属性)不可见 return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。