C++ 继承
来源:互联网 发布:chromium浏览器 linux 编辑:程序博客网 时间:2024/05/17 01:11
如果没有继承,类只有两种用户:类本身的成员和该类的用户。用户只能访问public接口,类成员和友元既可以访问public成员也可以访问private成员。
有了继承,就有了类的第三种用户:从类派生新类的程序员。类的protected部分即为派生类准备的。总的来说,提供给派生类的接口是protected成员和public成员的组合
class B{public: int a,b;public: B();protected: int sum(){return a+b;}};class A:public B{ float c,d;public: int s();};int A::s(){ return sum();}int main(){ A* derived = new A; B base; cout<<derived->sum()<<endl;//error derived->a = base.sum();//error cout<<derived->s()<<endl; return 0;}
可以看到,派生类对象是不可访问基类的protected成员函数的。只能用派生类成员函数访问基类protected成员,然后派生类对象能够间接访问基类protected成员,
所以,要正确理解《C++Primer(第四版)》475页中的这句话,“派生类只能通过派生类对象访问其基类的protected成员,派生类对其基类类型对象的protected成员没有特殊访问权限。”
0 0
- c继承
- C++----------------继承
- 【c#】继承
- C++:继承
- C++::继承
- [C++]继承
- 【C++】继承
- 【C#】继承
- 【c++】继承
- 【C++】继承
- c#-继承
- 【C++】 继承
- 【C#】继承
- C++|继承
- 【C++】继承
- C/C++--私有继承
- [C/C++]继承
- c++:私有继承,公有继承,保护继承
- ___attribute__ 用法
- 剑指Offer-->斐波那契数列(三种实现方法)
- 欢迎使用CSDN-markdown编辑器
- CSU 1561-(More) Multiplication
- 【HDU】5208 Where is Bob 【DP】
- C++ 继承
- Preliminary understanding of bagging and boosting
- 电力系统软件应用
- Web 开发中很实用的10个效果【附源码下载】
- 特殊sql语句
- Your ways (动态规划)ACM-ICPC Asia Phuket Regional Programing Contest 2009
- Leetcode: Permutations II
- 几种优秀的大数库总结
- [台剧]《倚天屠龙记》永远的经典——孙兴版杨逍