亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c++中如 類名 類名::對象 是什么意思

c++中如 類名 類名::對象 是什么意思

C++
慕哥6287543 2019-04-15 12:08:07
#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類型的引用

查看完整回答
反對 回復 2019-04-16
?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

就是操作不同類中的對象,就要用域操作符。
::是C++里的“作用域運算符”。
比如聲明了一個類A,類A里聲明了一個成員函數void f(),但沒有在類的聲明里給出f的定義,那么在類外定義f時,就要寫成void A::f(),表示這個f()函數是類A的成員函數。
:: 一般還有一種用法,就是直接用在全局函數前,表示是全局函數。當類的成員函數跟類外的一個全局函數同名時,在類內定義的時候,打此函數名默認 調用的是本身的成員函數;如果要調用同名的全局函數時,就必須打上::以示區別。比如在VC里,你可以在調用API函數時,在API函數名前加::。

查看完整回答
反對 回復 2019-04-16
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

::在C++中叫做域操作符
類函數的實現可以在類的定義中,也可以在定義中只聲明函數,而在定義外實現函數,那么實現時要告訴編譯器實現的是哪個類的函數,就要用到域操作符::,類名::成員函數的這種寫法就是說明當前實現的函數是::前面那個類的成員函數,不知道有沒有講清楚

查看完整回答
反對 回復 2019-04-16
  • 3 回答
  • 0 關注
  • 627 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號