一、友元 类并非只能拥有友元函数,也可以将类作为友元。在这种情况下,友元类的所有方法都可以访问原始类的私有成员和保护成员。另外,也可以做更严格的限制,只将特定的成员函数指定为另一个类的友元。哪些函数、成员函数或类为友元是由类定义的,而不能从外部强加友情。因此,尽管友元被授予从外部访问类的私有部分的....
分类:
编程语言 时间:
2015-07-25 12:15:11
阅读次数:
155
1、C++ 类的声明:class class_name{ private: /* *私有的数据和成员函数 *只能被本类中的成员函数引用,类外不能调用 *友元类例外 */ public: /* *公共的数据和成员函数 *可以被本类中的成员函数引用,也可以被类的作用域内的其他函数引用 ...
分类:
编程语言 时间:
2015-07-07 18:33:57
阅读次数:
110
Description
类Distance定义为类Point的友元类来实现计算两点之间距离的功能。
Point类中有两个私有数据成员X和Y来表示点的两个坐标(横坐标和纵坐标), 成员函数需要自己定义。
主程序输入两个Point点的坐标,计算两个点之间的距离。
Input
两个点的坐标(横坐标和纵坐标)
Output
两个点的距离(保留了两位小数)
S...
分类:
其他好文 时间:
2015-06-27 10:00:25
阅读次数:
183
不可或缺 Windows Native 之 C++: 友元函数, 友元类
分类:
编程语言 时间:
2015-06-25 12:13:20
阅读次数:
125
有些情况下,允许特定的非成员函数访问一个类的私有成员,同时仍阻止一般的访问,这是很方便做到的。例如被重载的操作符,如输入或输出操作符,经常需要访问类的私有数据成员。
友元(frend)机制允许一个类将对其非公有成员的访问权授予指定的函数或者类,友元的声明以frend开始,它只能出现在类定义的内部,友元声明可以出现在类中的任何地方:友元不是授予友元关系的那个类的成员,所有它们不受其声明出现部分的访...
分类:
编程语言 时间:
2015-06-08 09:52:36
阅读次数:
135
目录(?)[-]概述特性实现1友元函数11声明和定义12示例2友元类21声明和定义22示例注意1友元关系没有继承性2友元关系没有传递性1.概述友元提供了一种 普通函数或者类成员函数 访问另一个类中的私有或保护成员 的机制。也就是说有两种形式的友元:(1)友元函数:普通函数对一个访问某个类中的私有或保...
分类:
编程语言 时间:
2015-04-23 01:52:50
阅读次数:
150
定义下面两个类的成员函数(为体验友元类,实际上本例并不一定是一个好的设计,将两个类的合并为一个DateTime,日期、时间都处理更好)。
/*
* Copyright (c) 2015,烟台大学计算机学院
* All right reserved.
* 作者:赵嵩
* 文件:Demo.cpp
* 完成时间:2015年04月22日
* 版本号:v1.0
*/
#include...
分类:
其他好文 时间:
2015-04-22 09:34:25
阅读次数:
149
先放上我写的思维导图
我在画思维导图的时候,首先想到的是类的数据成员和成员函数,毕竟组成类的就是这两大类。接着看了下教科书的目录,发现还可以写类的性质和定义。写这四大项的时候,我先根据自己的想法加上枝条,有看了看目录,再加上了一些。最后加上了友元类和类模板两个相对小点的项目,其实是我不知道这两类该怎么分到之前的四个大类中,就单独写上了。...
分类:
其他好文 时间:
2015-04-21 09:49:10
阅读次数:
220
定义下面两个类的成员函数(为体验友元类,实际上本例并不一定是一个好的设计,将两个类的合并为一个DateTime,日期、时间都处理更好)。
/*
* Copyright (c) 2015,烟台大学计算机学院
* All right reserved.
* 作者:邵帅
* 文件:Demo.cpp
* 完成时间:2015年04月16日
* 版本号:v1.0
*/
#include
#include
...
分类:
其他好文 时间:
2015-04-16 21:57:42
阅读次数:
146
问题
定义下面两个类的成员函数(为体验友元类,实际上本例并不一定是一个好的设计,将两个类的合并为一个DateTime,日期、时间都处理更好)
class Date; //对Date类的提前引用声明
class Time
{
public:
Time(int,int,int);
void add_a_second(Date &); //增加1秒,1秒后可能会...
分类:
其他好文 时间:
2015-04-16 14:24:34
阅读次数:
223