C 類名加個括號是什麼東東

2021-10-14 03:55:39 字數 657 閱讀 5719

先考考大家,下面的**,編譯得過嗎?

class myclass

};int _tmain(int argc, _tchar* ar**)

關鍵點在於,有一行**是這樣的

myclass()

來個更難點的,下面的能編譯過嗎?

template class mytemp 

private:

t t;

};int _tmain(int argc, _tchar* ar**)

關鍵點在於:

mytemp(5.5);

揭曉答案,先從qt的一行**說起

這個呼叫對應的函式為:

void qstandarditem::insertrow(int row, const qlist&items)

也就是說,

qlist() << aitem會對應成const qlist&items

那麼qlist()的意思就是會生成乙個臨時物件qlist

回到開頭

myclass()會成乙個臨時物件myclass

mytemp(5.5);生成乙個臨時物件mytemp

就這樣....

C 之友元是什麼東東

我們知道c 中類的訪問控制有public,private,protected,如果我們把類的成員屬性定義成了private,那麼其他類或者函式就不能直接訪問這個成員屬性了。但是,c 中定義了友元,可以實現在類外部對類私有成員的訪問。方法是令其他類或者函式成為類的友元,如果類想把乙個函式作為它的友元,...

C 類中的屬性是什麼?

首先我來個簡單的假設。有個使用者類 users 裡面定義了乙個表示年齡的字段 age 如果我在其它的類裡需要用到users類裡的 age欄位 如獲取使用者年齡 只能讀取,不能修改。你將會怎麼設計users類裡的年齡欄位 age呢。是private public 還是什麼呢?如果是private 其它...

C 中類中的this是什麼this?

在c 的類中經常遇到this,但是this究竟是何物?相信很多新人肯定有這樣那樣的疑惑。this後面經常帶乙個箭頭如 this data data云云。下面就先舉乙個例子 include iostream using namespace std class point point int a,int...