Description
类Distance定义为类Point的友元类来实现计算两点之间距离的功能。
Point类中有两个私有数据成员X和Y来表示点的两个坐标(横坐标和纵坐标), 成员函数需要自己定义。
主程序输入两个Point点的坐标,计算两个点之间的距离。
Input
两个点的坐标(横坐标和纵坐标)
Output
两个点的距离(保留了两位小数)
S...
分类:
其他好文 时间:
2015-06-27 10:00:25
阅读次数:
183
运算符重载包括:双目运算符重载、单目运算符重载、流运算符重载、转换构造函数、类型转换函数重载运算符的函数一般格式如下:
函数类型 operator 运算符名称 (形参表列)
{
// 对运算符的重载处理
}1. 双目运算符重载双目:有2个操作数的运算符
重载函数可以为类成员函数或者是类的友元函数:
- 当是成员函数时,有一个隐藏参数(当前类),因...
分类:
编程语言 时间:
2015-06-26 09:28:29
阅读次数:
129
不可或缺 Windows Native 之 C++: 友元函数, 友元类
分类:
编程语言 时间:
2015-06-25 12:13:20
阅读次数:
125
运算符重载的两种方式对于很多运算符来说,可以选择使用成员函数或非成员函数来实现运算符重载。一般来说非成员函数应该是友元函数,这样才能直接访问类的私有数据。例如,Time类的加法运算符在Time类声明中的原型为:Time operator+(const Time &t) const; //member...
分类:
编程语言 时间:
2015-06-17 13:11:59
阅读次数:
137
C++ this 指针C++ 类 & 对象 C++ 类 & 对象在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址。this 指针是所有成员函数的隐含参数。因此,在成员函数内部,它可以用来指向调用对象。友元函数没有 this 指针,因为友元不是类的成员。只有成员函数才有 this 指...
分类:
其他好文 时间:
2015-06-14 12:24:56
阅读次数:
111
通过demo演示了友元函数在左移和右移运算符重载时的应用,与成员函数重载方式进行了对比,也涉及到了占位参数的使用...
分类:
其他好文 时间:
2015-06-14 09:28:43
阅读次数:
171
如果是重载双目操作符(即为类的成员函数),就只要设置一个参数作为右侧运算量,而左侧运算量就是对象本身。。。。。。
而 >> 或。。。。。。。。就只能申明为友元函数了。。。
如果一定要声明为成员函数,只能成为如下的形式:
ostream & operator
{
return output;
}
所以在运用这个data
不合符人的习惯。
...
分类:
其他好文 时间:
2015-06-11 21:14:56
阅读次数:
232
#include #include class complex{public: friend istream & operator >> (istream & ,complex &); //提取运算符重载友元函数声明。 friend ostream & operator d2) cout|z2|">...
分类:
其他好文 时间:
2015-06-10 21:01:44
阅读次数:
135
友元函数1、为什么要引入友元函数? 在实现类之间数据共享时,减少系统开销,提高效率 具体来说:为了使其他类的成员函数直接访问该类的私有变量,即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数 优点:能够提高效率,表达简单、清晰缺点:友元函数破环了封装机制,尽量不使用成员.....
分类:
编程语言 时间:
2015-06-08 23:15:33
阅读次数:
283
有些情况下,允许特定的非成员函数访问一个类的私有成员,同时仍阻止一般的访问,这是很方便做到的。例如被重载的操作符,如输入或输出操作符,经常需要访问类的私有数据成员。
友元(frend)机制允许一个类将对其非公有成员的访问权授予指定的函数或者类,友元的声明以frend开始,它只能出现在类定义的内部,友元声明可以出现在类中的任何地方:友元不是授予友元关系的那个类的成员,所有它们不受其声明出现部分的访...
分类:
编程语言 时间:
2015-06-08 09:52:36
阅读次数:
135