C++習(xí)題與解析(引用-02)

字號(hào):

05.設(shè)計(jì)一個(gè)類(lèi)Sample,實(shí)現(xiàn)兩個(gè)復(fù)數(shù)的乘法運(yùn)算。
    解:
    Sample類(lèi)包括復(fù)數(shù)的實(shí)部和虛部,以及實(shí)現(xiàn)復(fù)數(shù)相乘的成員函數(shù)mult()和輸出復(fù)數(shù)的成員函數(shù)disp()。
    本題的程序如下:
    #include
    class Sample
    {
    float a; // 實(shí)部
    float b; // 虛部
    public:
    Sample(){}
    Sample(float x,float y){a=x;b=y;}
    void mult(Sample &s) // 對(duì)象引用作為參數(shù)
    {
    if(&s==this) // 不能自己相乘
    cout<<"自己不能相乘"<    else
    {
    float x=a*s.a-b*s.b;
    float y=a*s.b+b*s.a;
    a=x;b=y;
    }
    }
    void disp()
    {
    if(b>0)
    cout    cout<}
    };
    void main()
    {
    Sample s1(2,3),s2(3,4);
    cout<<"復(fù)數(shù)s1:"; s1.disp();
    cout<<"復(fù)數(shù)s2:"; s2.disp();
    s1.mult(s2);
    cout<<"相乘結(jié)果:"; s1.disp();
    cout<    }
    本程序執(zhí)行結(jié)果如下:
    復(fù)數(shù)s1:2+3i
    復(fù)數(shù)s2:3+4i
    相乘結(jié)果:-6+17i