cc30a_demo-CppPrimer_友元与继承-txwtech友元关系不能继承-要明确授予友元

//友元可以访问类的private与protected成员
//友元关系不能继承-要明确授予友元

复制代码
 1 #include <iostream>//CppPrimer_友元与继承-txwtech--cc30a_demo
 2 using namespace std;//导入std名称空间
 3 //友元可以访问类的private与protected成员
 4 //友元关系不能继承-要明确授予友元
 5 
 6 class Base //你爸爸
 7 {
 8     friend class Frnd;
 9     friend class D2;
10 protected:
11     int i;
12 };
13 class D1 :public Base //你,你继承你爸爸
14 {
15     friend class Frnd;//我爸爸
16     friend class D2;//
17 private:
18     int j;
19 };
20 
21 class Frnd //我爸爸
22 {
23 public:
24     int mem(Base b) { return b.i; }
25     int mem(D1 d) { return d.i; }
26 
27 };
28 class D2 :public Frnd //
29 {
30 public:
31     int mem(Base b) { return b.i; }
32     int mem(D1 d) { return d.j; }
33 };
34 int main()
35 {
36     Base a;
37     D1 b;
38     Frnd c;
39     D2 d;
40     getchar();
41     return 0;
42 }
复制代码
posted @   txwtech  阅读(150)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示