C 建構函式對this的注意事項

2021-10-11 02:25:13 字數 571 閱讀 5150

vs2019報錯錯誤**:

node::

node

(char _c,

int n, node* _left, node* _right)

:this

->

c(_c)

,num

(n),

left

(_left)

,right

(_right)

正確**:

node::

node

(char _c,

int n, node* _left, node* _right):c

(_c)

,num

(n),

left

(_left)

,right

(_right)

原因:this指標屬於物件,初始化列表在建構函式之前執行,在物件還沒有構造完成前,使用this指標,編譯器無法識別。

參考文獻:

c++建構函式初始化列表中不能使用this指標

建構函式的注意事項

1.description 描述建構函式是建立類物件,並且在建立完成前,對類進行初始化的特殊函式。在類中的表現為,和類名一致。2.attribute 特徵 1 方法名必須和類名一致 2 建構函式木有返回值。一切跟返回值相關的修飾都別寫,也不要用void來修飾!3 建構函式是可以過載的。4 如果不寫建...

列舉 建構函式 注意事項

列舉 定義 列舉是乙個被命名的整形常數的集合,用於宣告一組帶識別符號的常數。類似人的性別 男和女,一周的星期只能是七天中的乙個。類似這種當乙個變數有幾種固定可能的取值時。就可以將它定義為列舉型別。列舉被設計成是單例模式,即列舉型別會由jvm在載入的時候,例項化列舉物件,你在列舉類中定義了多少個就會例...

C 值型別建構函式注意事項

c 語言相比其他支援clr的語言來說,對於值型別的構造有個特殊的地方,即不允許值型別有無引數的建構函式 所以當乙個值型別沒有提供任何建構函式的時候,是不能夠對字段在定義中進行初始化,如下 public struct point 因為對於成員變數申明的同時進行初始化,編譯器會在建構函式中將初始化的 加...