源程序:
#include<iostream.h>
class complex //复数类声明
{
public: //外部接口
complex(double r=0.0,double i=0.0){ real=r; imag=i; } //构造函数
friend complex operator + (complex c1,complex c2); //运算符+重载为友元函数
friend complex operator - (complex c1,complex c2); //运算符-重载为友元函数
void display(); //显示复数的值
private: //私有数据成员
double real;
double imag;
};
complex operator +(complex c1,complex c2) //运算符重载友元函数实现
{
return complex(c2.real+c1.real, c2.imag+c1.imag);
}
complex operator -(complex c1,complex c2) //运算符重载友元函数实现
{
return complex(c1.real-c2.real, c1.imag-c2.imag);
}
void complex::display()
{ cout<<"("<<real<<","<<imag<<")"<<endl; }
int main() //主函数
{
complex c1(5,4),c2(2,10),c3; //声明复数类的对象
cout<<"c1="; c1.display();
cout<<"c2="; c2.display();
c3=c1-c2; //使用重载运算符完成复数减法
cout<<"c3=c1-c2=";
c3.display();
c3=c1+c2; //使用重载运算符完成复数加法
cout<<"c3=c1+c2=";
c3.display();
}
分享到:
相关推荐
c++ demo,重载运算符,友元函数的实现
以下是对C++运算符重载 成员函数与友元函数进行了介绍,需要的朋友可以过来参考下
友元函数的的函数重载 是自己用过的,绝对正确
友元函数,类外普通函数声明为类的友元,之后即可与类共享数据
这是关于C++中、如何将普通函数声明友元函数的、求间隔日期的例子。适用于C++初学者学习用。
一个实例,实现运算符重载(成员函数和非成员函数两种方式),友元函数的使用,注意事项等,自己学习时编写的,
、用成员或友元函数重载运算符 1.一元运算符2.二元运算符 3.用成员函数重载运算符 4.用友元函数重载 条件 ②例子 ③注意 5.讨论 6.总结 三、几个典型运算符重载 1.++与-- 成员函数②友元函数 2.重载赋值运算符 ①...
模板类友元函数的一个源代码例子。
私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行。这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书写的麻烦。
C++运算符重载函数作为类成员函数和友元函数.doc
日期类Date包含日期的年、月、日三个数数据成员,编写一个友元函数,求两个日期之间相差的天数; 重要的是理顺:这个函数不是Date类的成员函数
(1) 定义一个Boat和Car两个类,他们都具有私用属性--重量; (2)编写一个函数,计算两者的重量和。
运算符重载:友元(friend)函数问题
c++ demo,运算符重载,成员函数的实现
本文档详细介绍了C++友元函数及友元类,方便大家对比学习
设计一个友元函数,比较某两个学生成绩的高低 2. 创建一个Message类,其构造函数带有一个string类型的默认参数 3. 制定自己的C++编码规范;编制一个程序,度量由用户指定的、严格按照C++编码规范编写的C++源文件...
关于c+模板之友元类友元函数的实例化,图形界面之矩形。
cpp代码-运算符重载(用友元函数实现私有属性)
友元函数是指某些虽然不是类成员却能够访问类的所有成员的函数。类授予它的友元特别的访问权。通常同一个开发者会出于技术和非技术的原因,控制类的友元和成员函数(否则当你想更新你的类时,还要征得其它部分的拥有...