ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++ "基类"和"派生类"作用域的效果

2019-07-31 09:06:29  阅读:236  来源: 互联网

标签:作用域 派生类 C++ protected pub proi 基类 public


原文链接:http://www.cnblogs.com/yaohwang/archive/2012/03/04/2367987.html

//Author: Yao H. Wang

//转载请注明出处:http://www.cnblogs.com/yaohwang/archive/2012/03/04/2367987.html

测试代码如下:

 1 #include "stdafx.h"
2 #include <iostream>
3
4 using namespace std;
5
6 class Base
7 {
8 public:
9 int pubi;
10 void pub()
11 {
12 cout << "Base public" << endl;
13 }
14 protected:
15 int proi;
16 void pro()
17 {
18 cout << "Base protected" << endl;
19 }
20 private:
21 int prii;
22 void pri()
23 {
24 cout << "Base private" << endl;
25 }
26 };
27
28 class Derived1: public Base
29 {
30 public:
31 //proi = 1;
32 //protected:
33 //proi = 1;
34 //private:
35 //proi = 1;
36 //pubi = 1;
37 //Base::pub();
38 int get1()
39 {
40 pub();
41 pro();
42 //pri();
43 proi = 1;
44 return proi;
45 }
46 //pub();
47 };

不难从Derived1类中看出以下结论:

1、不论是基类中public、protected、private何种成员,也不论是放在派生类的public、protected、private中任一访问控制条件下的基类数据成员。派生类都无法访问它们,因为在派生类的成员函数外部,它们都被当成是声明,而且会覆盖基类同名成员。但在此处它们无法通过编译,因为它们没有数据类型。

2、基类中的方法与数据成员很象,只是它们无法通过编译的原因是没有返回值。

3、基类中的public、protected成员和方法一放入派生类成员函数就正常了。因为在此它们不在被当成声明,而是调用。


 

转载于:https://www.cnblogs.com/yaohwang/archive/2012/03/04/2367987.html

标签:作用域,派生类,C++,protected,pub,proi,基类,public
来源: https://blog.csdn.net/weixin_30293135/article/details/97881635

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有