• 2022-06-09
    已知 Point类,要求在该类中完成+,- 两种操作符的重载。(重写Point类)class Point{ public: Point(float x=0, float y=0, float z=0): xx(x), yy(y), zz(z){} Point(const Point& p): xx(p.xx), yy(p.yy), zz(p.zz){ } private: float xx, yy, zz;}……
  • include<iostream.h>class complex //复数类声明{public: //外部接口 complex(double r=0.0,double i=0.0){real=r;imag=i;} //构造函数 complex &operator ++ (); //运算符+重载成员函数 complex operator - (complex c2); //运算符-重载成员函数 void display(); //输出复数private: //私有数据成员 double real; //复数实部 double imag; //复数虚部};complex complex::operator+ +() //重载运算符函数实现{ return complex(++reall,++ imag); }complex complex::operator -(complex c2) //重载运算符函数实现{ return complex(real-c2.real, 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; //使用重载运算符完成复数减法 cout<<"c3=++c1"; c3.display(); c3=c1-c2; //使用重载运算符完成复数加法 cout<<"c3=c1-c2"; c3.display();}

    举一反三

    内容

    • 0

      下面为一个点类,重载了负号运算符,将原来点改为其关于原点的对称点。 请填空补充完整程序。 #include &#91;iostream.h&#93;[br][/br] class Point{ private: float x; float y; public: Point(){ x = 0; y = 0; } Point(float a, float b){ x = a; y = b; } // 显示坐标 void display() { cout << "X: " << x << " Y:" << y <<endl; } // 重载负运算符 -,取对称点 friend Point operator-(Point a) { Point r; (1) ; (2) ; return r; } }; void main() { Point p1(5, 6); ; // 取对称点 p1.display(); //p1中的x和y值分别为-5和-6 }

    • 1

      有如下类定义:class XX{int XX;public:xx():xx(0){tout<<A;}XX(int n):xx(n){cout<<B;}};class Y:Y:public XX{int YY;public:YY():YV(O){cout<<YY;)YY(int n):xx(n+1),YY(n){cout<<YY;}YY(int m,int n):XX(m),YY(n){cout<<yy;)};下列选项中,输出结果为A0的语句是 A: YY yl(0,0); B: YY 72(1); C: YY y3(0); D: YY y4;

    • 2

      有如下类定义:()class()XX{()int()xx;()public:()XX():()xx(0){cout<<'()A';}()XX(int()n):()xx()(()n){tout<<'()B';}()};()class()YY:public()XX{()int()yy;()public:()YY():()yy()(0){cout()<<yy;}()YY(int()n):()XX(n+1),()yy(n){cout<<yy;}()YY()(int()m,()int()n):()XX()(m),()yy(n){cout<<yy;}()};()下列选项中,输出结果为A0的语句是()。A.()YY y1(0,0);()B.()YY y2(1);()C.()YY y3(0);()D.()YY y4;

    • 3

      已知:Point x(3,4); 则下列声明中能定义p指针变量并使其初值指向x的是( ) 。 A: int &amp;p=x; B: Point *p=&amp;x; C: Point p=x; D: float *p=&amp;x;

    • 4

      有如下程序: #include<iostream> using namespace std; class XX{ int x; public: XX(int XX=0):x(xx){} int getX(){return x;} }; class YY:public XX{ int y; public: YY(int xx,int yy):XX(xx),y(yy){} int getV(){return getX()+y;} }; int main(){ YY c(3,4); cout<<c.getV()+c.getX()<<endl; return 0; } 运行这个程序的输出结果是______。 A: 3 B: 4 C: 7 D: 10