C++ - Inheritance type: public, protected, private
来源:互联网 发布:qq防红源码 编辑:程序博客网 时间:2024/05/09 07:13
-- Members.
+------------+----------------+--------------+
| type | superclass + subclass |
+------------+----------------+--------------+
| public | public | public |
| public | protected | protected |
| public | private | N/A |
+-------------+---------------+---------------+
| protected | public | protected |
| protected | protected | protected |
| protected | private | N/A |
+-------------+---------------+---------------+
| private | public | private |
| private | protected | private |
| private | private | N/A |
+------------------------------+---------------+
-- Convert from sub-class to super-class
#include <cstdlib>
#include <stdio.h>
#include <iostream>
using namespace std;
class A {
public:
int i;
};
class B : protected A { // public, protected, private
};
int main(int argc, char *argv[])
{
B *b = new B();
A * a = b; // It will have a compiler error, it can be fixed by define class B is inherited from class A as public type.
return 0;
}
The rule is: the conversion can work when there the super-class's public attribute can be accessed, i.e, when a->public_member(s) is readable; otherwise,
As for B, the super's member i is not accessable from out side since B is protected inherited from A, so if we can convert B to A, but the A's member i is defined as public, in other words, B's member i can be accessed through a pointer from class A; this is illegial with C++'s syntax.
- C++ - Inheritance type: public, protected, private
- public ,private,protected inheritance
- Question 35: Protected, or private, inheritance, as opposed to public inheritance, models which type of relationship in C++?
- Public, Private, and Protected Inheritance
- Types of C++ Inheritance: public protected private
- C++-public,protected,private
- 【C++】public protected private
- C++private,protected,public。
- C#---public-private-protected-internal
- objective-c @private @protected @public
- C#public/protected/private/internal/protected internal
- public,private,protected 区别和作用(C++)
- C#public private protected关键字总结
- C#public private protected关键字总结
- Objective-C中@private、@protected、@public 解析
- public,private,protected 区别和作用(C++)
- C#public private protected关键字总结
- Objective-C中@private、@protected、@public 解析
- Smartq7 NFS boot Android.
- CRM 函数 CRM_ORDER_MAINTAIN
- Google Bookmarks API Guide
- 怎么招聘程序员
- C#数据库通用可移植类模块与应用实例
- C++ - Inheritance type: public, protected, private
- 方法_Unicode简介
- C++/C宏定义中## 连接符与# 符的含义(转自http://blog.163.com/wshyao@126/blog/static/1070451420081018103237836/)
- 11111
- 展会总结
- 职场5大潜规则不可不知
- 23.5 小 结
- 甲骨文公司简介
- 2 正则表达式