#include<iostream>using namespace std;class CComplex{public:CComplex(double,double);CComplex(CComplex &c);CComplex add(CComplex &x);void print();private:double real;double image;};CComplex::CComplex(double r=0.0,double i=0.0){real=r;image=i;cout<<"調用兩個參數的構造函數"<<endl;}CComplex::CComplex(CComplex &c){real=c.real;image=c.image;cout<<"調用拷貝構造函數"<<endl;}void CComplex::print(){cout<<"("<<real<<","<<image<<")"<<endl;}void f(CComplex n){cout<<"n=";n.print();}CComplex CComplex::add(CComplex &x) (這一句 不懂為何 類名 類名::對象){CComplex y(real+x.real,image+x.image);return y;}int main(){CComplex a(3.0,4.0),b(5.6,7.9);CComplex c(a);cout<<"a=";a.print();cout<<"c=";c.print();f(b);c=a.add(b);c.print();system("pause");}
3 回答
絕地無雙
TA貢獻1946條經驗 獲得超4個贊
CComplex CComplex::add(CComplex &x) (這一句 不懂為何 類名 類名::對象)
{
CComplex y(real+x.real,image+x.image);
return y;
}
CComplex是返回的類型,return y;中的y不就是CComplex類型么。
CComplex::add(CComplex &x)在add前面加CComplex::是域的意思,是為了告訴其他程序,這個add函數是CComplex的
CComplex &x的意思是參數x是CComplex類型的引用
慕蓋茨4494581
TA貢獻1850條經驗 獲得超11個贊
::在C++中叫做域操作符
類函數的實現可以在類的定義中,也可以在定義中只聲明函數,而在定義外實現函數,那么實現時要告訴編譯器實現的是哪個類的函數,就要用到域操作符::,類名::成員函數的這種寫法就是說明當前實現的函數是::前面那個類的成員函數,不知道有沒有講清楚
- 3 回答
- 0 關注
- 627 瀏覽
添加回答
舉報
0/150
提交
取消
