void Complex:display(const cout〈<"(“<real<K","(<imag<")”< endl; int main(){ /主函数 Comp1exc1(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(); return 0; 6
void Complex::display() const { 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(); return 0; } 16
程序输出的结果为: c1=(5,4) c2=(2,10) c3=c1-c2=(3,-6) c3=c1+c2=(7,14) a
程序输出的结果为: c1 = (5, 4) c2 = (2, 10) c3 = c1 - c2 = (3, -6) c3 = c1 + c2 = (7, 14) 17
C++语言程序设计 运算符诚员函数的设计 运 算 ●前置单目运算符U 符 -如果要重载U为类成员函数,使之能够实 重 现表达式U oprd,其中oprd为A类对象, 载 则U应被重载为A类的成员函数,无形参。 -前置++和-返回自增或自减后对象的引用, 以和内置运算符保持一致 表达式Uopd相当于rU0半 经重载后
C++语言程序设计 18 运算符成员函数的设计 前置单目运算符 U – 如果要重载 U 为类成员函数,使之能够实 现表达式 U oprd,其中 oprd 为A类对象, 则 U 应被重载为 A 类的成员函数,无形参。 – 前置++和--返回自增或自减后对象的引用, 以和内置运算符保持一致 – 经重载后, 表达式 U oprd 相当于 oprd.operator U() 运算符重载
C++语言程序设计 运算持成员函数的设计 远 算 。后置单目运算符++和- 符 如果要重载++或-为类成员函数,使之能够 重 实现表达式oprd++或oprd-,其中oprd 为A类对象,则++或-应被重载为A类的 载 成员函数,且具有一个int类型形参。 一后置++和-返回自增或自减前的对象,以和 内置运算符保持一致 经重载后,表达式oprd+相当于 oprd.operator ++(0) 9
C++语言程序设计 19 运算符成员函数的设计 后置单目运算符 ++和-- – 如果要重载 ++或--为类成员函数,使之能够 实现表达式 oprd++ 或 oprd-- ,其中 oprd 为A类对象,则 ++或-- 应被重载为 A 类的 成员函数,且具有一个 int 类型形参。 – 后置++和--返回自增或自减前的对象,以和 内置运算符保持一致 – 经重载后,表达式 oprd++ 相当于 oprd.operator ++(0) 运算符重载
C++语言程序设计 例8-2 运 算 ●运算符前置++和后置+重载为时钟类 符 的成员函数。 重 。前置单目运算符,重载函数没有形参 载 对于后置单目运算符,重载函数需要 有一个整型形参。 ·操作数是时钟类的对象。 ●实现时间增加1秒钟
C++语言程序设计 20 例8-2 运算符前置++和后置++重载为时钟类 的成员函数。 前置单目运算符,重载函数没有形参, 对于后置单目运算符,重载函数需要 有一个整型形参。 操作数是时钟类的对象。 实现时间增加1秒钟。 运算符重载