eal ;float i= imag - c.imag ;plex(r ,i );}Рcomplex operator - ( ){plex(-real,-img);}Рplex::print( ){cout<<"("<<real<<","<<imag<<")"<<endl;}Рvoid main(){complex x(2.5,3.8),y(4.7,5.4),z;Рz=x+y; z.print();z=x-y; z.print();z=-x; z.print();}Р问题:本例是使用类的成员函数来实现复数类的运算符重载,请在不改变主函数的情况下,采用友元的形式来实现复数类的运算符重载。写出相应的程序。Р5重新编写下述程序,使函数Leisure()成为类Car和类Boat的函数。作为重新变成,在类Car和类Boat中,增加函数get() Р#include <iostream.h>Рclass Boat;Рclass Car{Рpublic:Р Car(int j){ size =j; }Р Friend int Leisure(int time,car&aobj,Boat&bobj);РProtected:Р int size;Р};Рint Leisure(int time, Car& aobj, Boat& bobj)Р{Р return time * aobj.size*bobj.size;Р }Рvoid main()Р{Р Car c1(2);Р Boat b1(3);Р int time =4;Р cout <<Leisure(time,c1,b1);Р}Р教材《C++程序设计教程》(钱能著) 第348页第15.3题。Р 作业题(五)Р1.简述静态成员函数与一般成员函数的主要差别。Р2.简述什么是先期联编,什么是迟后联编。Р3.简述多继承中构造函数被调用顺序。