1. 程式人生 > >設計類時需要註意的個地方

設計類時需要註意的個地方

效率 很多 code 程序 方式 運行 per 函數 編譯器

1.在類中聲明構造函數,如果構造函數的參數需要初始化,最好在函數聲明的時候使用構造函數獨有的初始化方式,不要在函數體內再進行初始化,這樣可以提高程序的運行效率,具體如下:

class person{
Private:
   Int age,height; 
Public:
   Person(const int &a,const int &h) : age(a) , height(h) {}      
};   

2.數據都放在private裏面,這也體現了c++的三大特性之一:封裝

3.參數能通過引用傳遞就不要用值傳遞。因為值傳遞的方式傳進來的是一個特別大的數,會占用很多的棧空間,導致內存消耗過高。這裏內存消耗過高在單一調用一個函數可能還不是很明顯,可是如果使用了遞歸,編譯器將會對參數一直進行壓棧的操作,使用值傳遞很有可能就會導致堆棧溢出了(這裏只是我的猜測,下次要寫個代碼驗證一下)。

4.返回值能用引用就不要直接返回當前對象

5.如果參數在函數內不可以被改變,那麽這個函數就應該聲明為常量成員函數。這麽做的目的是完善自己設計的接口,別人在調用這個類的成員函數時加了const,而實際聲明這個函數時又沒有告訴別人這個函數的參數是不可以改變的,那麽就會造成二義性,編譯的時候就會報錯。

6.如果某一個參數在函數內的值不會被改變,那麽將這個值使用const修飾。

設計類時需要註意的個地方