C++ derived class access specifier
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++ derived class access specifier,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2065字,纯文字阅读大概需要3分钟。
内容图文
// DerivedAccessSpecifier.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; class base { public: int pub_a = 0; private: int pri_b = 0; protected: int pro_c = 0; }; class pub_derived : public base { public: int use_pub(){ return pub_a; } //public派生类可以访问父类的public成员 //int use_pri(){ return pri_b; } //public派生类不可以访问父类的private成员 int use_pro(){ return pro_c; } //public派生类可以访问父类的protected成员 }; class pri_derived : private base { public: int use_pub(){ return pub_a; } //private派生类可以访问父类的public成员 //int use_pri(){ return pri_b; } //private派生类不可以访问父类的private成员 int use_pro(){ return pro_c; } //private派生类可以访问父类的protected成员 }; class pro_derived : protected base { public: int use_pub(){ return pub_a; } //protected派生类可以访问父类的public成员 //int use_pri(){ return pri_b; } //protected派生类不可以访问父类的private成员 int use_pro(){ return pro_c; } //protected派生类可以访问父类的protected成员 }; //由上可知,派生时的access specifier对派生类中的成员没有影响 class dd_pub : public pub_derived { public: int dd_use_pub(){ return pub_a; } //yes //int dd_use_pri(){ return pri_b; } //no int dd_use_pro(){ return pro_c; } //yes }; class dd_pri : public pri_derived { public: //int dd_use_pub(){ return pub_a; } //no //int dd_use_pri(){ return pri_b; } //no //int dd_use_pro(){ return pro_c; } //no }; class dd_pro : public pro_derived { public: int dd_use_pub(){ return pub_a; } //yes //int dd_use_pri(){ return pri_b; } //no int dd_use_pro(){ return pro_c; } //yes }; int _tmain(int argc, _TCHAR* argv[]) { pub_derived a; pri_derived b; pro_derived c; cout << a.pub_a << endl; //yes //cout << b.pub_a << endl; //no //cout << c.pub_a << endl; //no return 0; } //由上可知,派生时的access specifier对派生类的users有影响,users包括:派生类的派生类,派生类的对象。 //即影响派生类的interface //public : 父类的public、private、protected不变 //private: 父类的public、private、protected都变成private //protected: 父类的public变成protected,private不变,protected还是protected //即优先级为: private > protected > public //优先级大的可以改变优先级小的
原文:http://blog.csdn.net/iflysoft/article/details/19050483
内容总结
以上是互联网集市为您收集整理的C++ derived class access specifier全部内容,希望文章能够帮你解决C++ derived class access specifier所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。