C++:类继承 private, protected的区别
来源:互联网 发布:中国青少年肥胖率数据 编辑:程序博客网 时间:2024/05/16 12:04
先看实例:
#include <iostream>class Mammal{public: // constructors Mammal():itsAge(2), itsWeight(5){} ~Mammal(){}protected: int itsAge; int itsWeight;};class Dog: public Mammal{public // constructors Dog():itsBreed(1){} ~Dog(){} // Other methods void WagTail(){ std::cout<<"Tail wagging...\n"; std::cout<<itsAge<<std:endl; }private: int itsBreed;}int main(){ Dog fido; fido.WagTail(); return 0;}
在WagTail()函数中,我们直接访问了protected变量itsAge
假如我们在定义Mammal类时,将itsAge设置为private时,在WagTail中引用itsAge,程序将报错
这个例子说明:
protected的数据成员和函数对派生的类是完全可见的,而private,对派生类是不可见的。其他方面与private一样。
备注:以下结论没有经过验证,记录在此,仅供自己理解
以Linux的文件权限的概念来说明:由于没有x概念,因此只涉及r, w概念假如:hello.cpp文件为例public: rw(owner)|rw(group)|rw(others)protected: rw|rw|--private: rw|--|--因此,当itsAge, itsWeight为protected时,WagTail()函数可以访问itsAge, itsWeight;当itsAge, itsWeight为private时, WagTail()函数不可以访问;而不论itsAge, itsWeight是protected还是private, main()函数都不可以访问itsAge,itsWeight,itsBreed;即fido.itsAge // error fido.itsWeight // error fido.itsBreed //error如果需要访问必须通过public的成员函数或变量, 比如fido.WagTail()这类函数
1 0
- C++:类继承 private, protected的区别
- public继承---private继承---protected继承的区别
- 类的private继承,protected继承和public继承的区别
- public,protected,private继承区别
- private和protected继承区别
- C++:public继承、protected 继承、private继承
- C++:public继承、protected 继承、private继承
- 腾讯一面:C++的private、public、protected继承的区别
- C++ protected 和 private 在子类继承时的区别
- public,private,protected的区别,继承方法与访问权限
- 继承 Objective-C中public、protected、private的使用
- 类的成员 protected和 private 区别
- 区别C++类的public,private,protected
- 三种继承的方法:public 继承/private继承/protected继承详解及区别
- 三种继承的方法:public 继承/private继承/protected继承详解及区别
- public、protected及private继承区别
- public、protected及private继承区别
- private,protected,public的区别
- 继承和组合混搭情况下的构造和析构.cpp
- V4L2 入门
- 详解ACM基础算法—DFS深度优先搜索算法
- IP回流问题分析
- 步入 jQuery EasyUI
- C++:类继承 private, protected的区别
- ==$0
- 关闭键盘
- 数据结构算法之动态规划、贪心算法
- 关于浏览器兼容的问题以及字符串编码的一个坑,鼠标滚动事件mousewheel和DOMMouseScroll
- 压电蜂鸣器与电磁蜂鸣器
- Android 设置后台静态广播和activity进行通信
- 找邊緣(Laplacian)
- 为TMenuItem增加指针Data属性