cc30a_demo-CppPrimer_友元与继承-txwtech友元关系不能继承-要明确授予友元
//友元可以访问类的private与protected成员
//友元关系不能继承-要明确授予友元
#include <iostream>//CppPrimer_友元与继承-txwtech--cc30a_demo
using namespace std;//导入std名称空间
//友元可以访问类的private与protected成员
//友元关系不能继承-要明确授予友元 class Base //你爸爸
{
friend class Frnd;
friend class D2;
protected:
int i;
};
class D1 :public Base //你,你继承你爸爸
{
friend class Frnd;//我爸爸
friend class D2;//我
private:
int j;
}; class Frnd //我爸爸
{
public:
int mem(Base b) { return b.i; }
int mem(D1 d) { return d.i; } };
class D2 :public Frnd //我
{
public:
int mem(Base b) { return b.i; }
int mem(D1 d) { return d.j; }
};
int main()
{
Base a;
D1 b;
Frnd c;
D2 d;
getchar();
return ;
}
cc30a_demo-CppPrimer_友元与继承-txwtech友元关系不能继承-要明确授予友元的更多相关文章
- Java集合类的组织结构和继承、实现关系
Collection继承.实现关系如下(说明(I)表示接口,(C)表示Java类,<--表示继承,<<--表示实现): (I)Iterable |<--(I)Collectio ...
- 架构漫谈:UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
这是一堂关于UML基础知识的补习课:现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了:本篇主要就以前自己一直感觉很迷糊的几种class之间的 ...
- UML 类图. 对象图. 接口图. 用例图 .包,参与者. 依赖关系. 泛化/继承关系. 关联关系 .聚合/聚集关系. 实现关系 组合关系。
结构元素 结构元素包括,类,对象,接口,用例,参与者. 类图 类图图示 类图是UML中最基本的元素了吧?根据OO的思想"天下一切皆对象",而类是对象的抽象. 左 ...
- bean之间的继承和依赖关系
继承Bean配置 Spring允许继承bean的配置,被继承的bean称为父bean,继承这个父Bean的Bean称为子Bean 子Bean从父Bean中继承配置,包括Bean的属性配置 子Bean可 ...
- day 20 类与类之间的关系,继承2
类与类之间的关系: 依赖关系 关联关系 聚合关系 组合关系 依赖关系: 大象与冰箱的例子 # 依赖关系,冰箱依赖大象打开 class Elephant: def __init__(self,name) ...
- Java类与类的关系、继承与多态、重写与重载
Java类与类的关系 (1)is-a包括了 继承,实现关系 (2)has-a包括了 关联,聚合,组合关系 (3)use-a包括了 依赖关系 实现关系: 实现指的是一个class类实现interface ...
- spring bean之间的关系:继承;依赖
概要: ' 继承Bean配置 Spring同意继承bean的配置,被继承的bean称为父bean,继承这个父Bean的Bean称为子Bean 子Bean从父Bean中继承配置,包含Bean的属性配置 ...
- C++ Primer 学习笔记_67_面向对象编程 --转换与继承、复制控制与继承
面向对象编程 --转换与继承.复制控制与继承 I.转换与继承 引言: 由于每一个派生类对象都包括一个基类部分,因此能够像使用基类对象一样在派生类对象上执行操作. 对于指针/引用,能够将派生类对象的指针 ...
- python_way day10 python和其他语言的作用域 、 python2.7多继承和3.5多继承的区别 、 socket 和 socketserver源码(支持并发处理socket,多进程,多线程)
python_way day10 1.python的作用域和其他语言的作用域 2.python2.7多继承和3.5多继承的区别 3.socket和socketserver源码(并发处理socket) ...
随机推荐
- Android系统签名简介
apk的签名,简单说开发者可以通过签名 对应用进行标识和更新.包名在一个设备上是唯一的,这样可以避免被相同包名应用随意覆盖安装.这是一个非常重要的安全功能.系统中的签名文件,也是对系统中应用进行签名, ...
- MVC案例
MVC案例分析: - 没有业务层,直接Servlet调用Dao,所以也没有业务操作.所有在DAO直接获取Connection对象 -采用MVCDs设计模式 -使用到的技术: mvc设计模式:JSP ...
- Springboot 内置tomcat 基本配置收集整理
配置一: server:# tomcat 配置 tomcat: # 接收队列长度 accept-count: 1000 # 最小空闲线程数 min-spare-threads ...
- 轻便的一句话反弹shell语句
反弹shell往往是在攻击者无法直接连接受害者的情况下进行的操作,原因有很多,例如目标是局域网,或者开启防火墙的某些策略等情况,而这时,我们就可以让受害者主动向攻击者发起连接,被控端发起请求到控制端某 ...
- Rocket - tilelink - Metadata
https://mp.weixin.qq.com/s/Dyb1XipJtdhGa9mktXXjCg 简单介绍Metadata的实现. 1. 基本介绍 Metadata是一个Bun ...
- float:left的妙用
在html页面中,我们总是会遇到这样的情况: 当然,这是比较简单的情况,用ul内包li就可以, <ul> <li><img src="logo.jpg" ...
- [C#.NET拾遗补漏]01:字符串操作
字符串操作在任意编程语言的日常编程中都随处可见,今天来汇总一下 C# 中关于字符串的一些你可能遗忘或遗漏的知识点. 逐字字符串 在普通字符串中,反斜杠字符是转义字符.而在逐字字符串(Verbatim ...
- Java实现 LeetCode 396 旋转函数
396. 旋转函数 给定一个长度为 n 的整数数组 A . 假设 Bk 是数组 A 顺时针旋转 k 个位置后的数组,我们定义 A 的"旋转函数" F 为: F(k) = 0 * B ...
- Java实现Fibonacci取余
Description Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. Input 多 ...
- Java实现 LeetCode 148 排序链表
148. 排序链表 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序. 示例 1: 输入: 4->2->1->3 输出: 1->2->3-> ...