C/C++知识点之C++基础(1)
小标 2018-12-26 来源 : 阅读 905 评论 0

摘要:本文主要向大家介绍了 C/C++知识点之C++基础(1),通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了 C/C++知识点之C++基础(1),通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

1.关于继承及访问。

C++中 public,protected, private 访问标号小结,即访问标号使用限制。第一:private, public, protected 访问标号的访问范围。private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由4.该类的对象访问。 注:友元函数包括3种:
(1):设为友元的普通的非成员函数;
(2):设为友元的其他类的成员函数;如下:
class B;class A{    ...    friend int B::f();    ...};
(3):设为友元类中的所有成员函数。
第二:类的继承后方法属性变化。可以将类的继承想象为对父类对象的访问。不说是private继承后父类的protected和public属性在子类中变为private,因为子类可以访问自身的private,就说它可以访问父类的private属性。对于父类,它被子类继承之后属性发生变化,这种变化直接的影响是子类在访问父类的时候访问权限受限了,如果要求父类的原本的权限,就应使用public继承方式。
private 属性不能够被继承。使用private继承,父类的protected和public属性在子类中变为private;使用protected继承,父类的protected和public属性在子类中变为protected;使用public继承,父类中的protected和public属性不发生改变;  如下所示:                           public:            protected:       private:public继承             public            protected        不可用 protected继承       protected       protected        不可用 private继承           private           private             不可用 protected继承和private继承能降低访问权限。本文出自 “将弛直奔” 博客,请务必保留此出处//cnmtjp.blog.51cto.com/204390/36548


 1 #include     
 2 #include     
 3 using namespace std;      
 4 class Teacher    
 5 {    
 6     public:    
 7     Teacher(char *temp)    
 8     {    
 9         director = new char[10];    
10         strcpy(director,temp);  
11     }  
12     ~Teacher()    
13     {    
14         cout<<"释放堆区director内存空间1次";    
15         delete[] director;    
16         cin.get();    
17     }    
18     char *show();    
19     protected:    
20     char *director;    
21 };    
22 char *Teacher::show()    
23 {    
24     return director;    
25 }    
26 class Student    
27 {    
28     public:    
29     Student()    
30     {    
31         number = 1;    
32         score = 100;    
33     }    
34     void show();    
35     
36     protected:    
37     int number;    
38     int score;    
39     Teacher teacher("王大力");//错误,一个类的成员如果是另外一个类的对象的话,不能在类中使用带参数的构造函数进行初始化  
40     
41 };    
42     
43 void Student::show()    
44 {    
45     cout<<teacher.show()<<endl<<number<<endl<<score<<endl;    
46 }    
47 void main()    
48 {    
49     Student a;    
50     a.show();    
51     Student b[5];    
52     for(int i=0; i<sizeof(b)/sizeof(Student); i++)    
53     {    
54         b[i].show();    
55     }    
56     cin.get();    
57 }

View Code

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved