C++运算符重载为成员函数
2015-06-18 11:06
507 查看
#include<iostream> using namespace std; class Complex{ public: Complex(double r=0.0,double i=0.0):real(r),imag(i){} Complex operator + (const Complex &c2) const; Complex operator - (const Complex &c2) const; void display() const; private: double real,imag; }; void Complex::display() const{ cout<<"("<<real<<","<<imag<<")"<<endl; } Complex Complex::operator + (const Complex &c2) const{ return Complex(real+c2.real,imag+c2.imag);//调用Complex构造函数创建一个临时对象并返回它 //Complex c(real+c2.real,imag+c2.imag); //return c; } Complex Complex::operator - (const Complex &c2) const{ return Complex(real-c2.real,imag-c2.imag); } int main(){ Complex c1(5,4),c2(2,10),c3; cout<<"c1=";c1.display(); cout<<"c2=";c2.display(); c3=c1-c2; cout<<"c2=c1-c2=";c3.display(); c3=c1+c2; cout<<"c2=c1+c2=";c3.display(); return 0; }
相关文章推荐
- C++中++运算符的重载
- C++运算符重载为非成员函数
- VC++动态链接库(DLL)编程深入浅出
- C语言-srand种子详解
- C++namespace命名空间
- C++ 12.1.5 定义类对象
- Effective C++ 条款54-55
- C++中赋值操作符为什么要返回引用类型
- C++实现设计模式 - STATE(状态)—对象行为模式(第二十个)
- 画数组的直方图
- C++12.1.4 类的前向声明、不完全类型类
- 作用域内枚举(C++11)
- POJ 1338 Ugly Numbers
- C语言易混淆关键词详解-const,static,extern,typedef,声明
- c++ builder 俩种不同风格的窗体
- std::string字符串分割
- C语言中##和#argument预处理运算符
- 浅谈C++多态性
- 嵌入式C语言编程规范(个人规约)
- 嵌入式C语言编程规范(个人规约)