C++_练习—继承_公有继承

公有继承


公有继承 public:

当类的继承方式为公有继承时,基类的公有和保护成员的访问属性在派生类中  不变,而基类的私有成员不可访问。 即基类的公有成员和保护成员被继承到派生类中仍作为派生类的公有成员和保护成员。派生类的其他成员可以直接访问它们。无  论派生类的成员还是派生类的对象都无法访问基类的私有成员。   

公有继承:当公有继承时,基类的公有变成派生类的公有,保护变成派生类的保护,私有不可以直接被派生类访问,可通过公有和保护间接访问!

 

复制代码
 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 class info {
 6 public:
 7     int getter(void) {
 8         return age;
 9     }
10 
11     void setter(int a) {
12         age = a;
13     }
14     void pri(void) {
15         cout << age << endl;
16     }
17 
18 protected:
19     int prot;
20 
21 
22 private:         // 派生类不可访问
23     int age;
24 };
25 
26 class info_j :public info {
27 public:
28     void info_pri(void) {
29         cout << num << endl;
30     }
31 
32     void set_pri_prot(int a) {
33         info::prot = a;
34         cout << info::prot << endl;
35     }
36 
37 private:
38     int num;
39 };
40 
41 int main(void) {
42 
43     info_j infoj;      //定义一个派生类
44     infoj.setter(666);   //派生类直接访问基类的public
45     infoj.pri();           
46     infoj.set_pri_prot(777);  //派生类直接访问基类的protected
47 
48     system("pause");
49 
50     return 0;
51 }
复制代码

 

 

 

笔记


 

posted @   panda_w  阅读(251)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示