C++_练习—继承_保护继承


 保护继承


protected:保护继承

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

 

复制代码
 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 class info {
 6 public:
 7     void setter(int a,int b){
 8         num = a;
 9         age = b;
10     }
11 
12     int getter(void) {
13         int a = age;
14         return a;
15     }
16 
17     void pri(void) {
18         cout << num << endl;
19         cout << age << endl;
20     }
21 
22 protected:
23     int num;
24 
25 private:
26     int age;
27 };
28 
29 class info_j : protected info{
30 public:
31     void infoj_pri(void) {
32         setter(66,77);     // 从基类继承过来的,存储在自己的protected
33         pri();             // 同理也是,通过pri间接访问了基类的私有成员
34     }
35 
36 protected:
37     int num;
38 
39 private:
40     int age;
41 
42 };
43 
44 int main(void)
45 {
46     info_j infoj;
47 
48     /*infoj.setter()  看!报错无法直接调用,原因是基类的公有保护成员都变成派生类的保护成员,
49                       只能通过派生类的公有成员间接调用! 
50     */
51 
52     infoj.infoj_pri();
53 
54     system("pause");
55 
56     return 0;
57 }
复制代码

 

 

 笔记


 

posted @   panda_w  阅读(394)  评论(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 让容器管理更轻松!
点击右上角即可分享
微信分享提示