C++筆記:類中的this指針
在 C++ 中,this 是一個指針而不是對象本身。這和 C# 等語言不同。在 C# 中,this 是對象本身的_別名_。
public class test
{
public test()
{
this.do(); //此處的 this 代表對象本身的別名。
}
private void do()
{
//To do.
}
}
而在 C++ 中,它是本身的指針。C++ 中由於類遵循了必須先定義再使用的原則,所以在一個類中無法返回一個類自身的類型,這是因為此時這個類還是一個不完全類型(類函數作為類的成員還沒有定義完全)。
在一個const成員函數中只能返回 const 類名& 類型,否則,可以返回 類名& 類型。
有的時候,我們希望使用者調用的成員函數返回 const 類名& 類型,但是卻在某些情況下必須返回非 const 類型,此時可以使用重載來實現:
定義兩個相同函數,分別返回 const 和非 const 引用,那麼,通常情況下,編譯器認為 const 為更好匹配,但如果必須修改返回的類型,會自動匹配非 const 類型。
© 轉載需附帶本文連結,依 CC BY-NC-SA 4.0 釋出。