C++的一些知识点摘抄(创建基本类 高级类)
問:對象有多大?
答:對象占據的內存量取決于其成員變量的長度,類函數不占據為對象分配的內容。
有些編譯器在內存中對齊變量,這導致2字節變量實際占用的內存多于2字節。
?
問:為何不應將所有成員數據聲明為公有的?
答:通過將成員數據聲明為私有的,可以讓類的使用者能夠使用這些數據,同時不必擔心他們是如何存儲和計算的。例如在三輪車類Tricylce有成員函數getspeed(),Tricycle類的使用者可請求獲得三輪車的速度,而無需知道速度是存儲在成員變量中還是動態計算得到的。公有數據類似于全局數據,任何對象的代碼都可以訪問它,因此如果這些數據被修改,通常會很難確定這些數據的修改是在哪里進行的。
?
const成員函數:
void displayPage() const;? ?//在函數括號后面添加關鍵字const 可以將成員函數聲明成常量函數,其表明它不會修改任何類成員的值。
?
內聯實現
可將常規函數聲明為類聯的,同樣也可將成員函數聲明成內聯的,為此需要在返回類型前面指定關鍵字inline, 如下代碼
inline int Tricycle::getSpeed() {return speed; }也可將函數定義放在類聲明中,這樣函數將自動變成內聯的,如下例所示:
class Tricycle {public:int getSpeed() const{return speed;}void setSpeed(int newSpeed); }將其他類用作成員數據的類
如一個矩形Rectangle類中我們可以使用點Point類。
class Point {public:// 一些需要的函數和成員變量private://一些需要的函數和成員變量 }; class Rectangle {public://一些需要的函數和成員變量void setUpperLeft(Point location);
void setUpperRight(Point location);
...private:Point upperLeft;Point upperRight;Point lowerLeft;Point lowerRight;int top;int left;int bottom;int right; };
問:既然使用常量函數修改類會導致編譯器錯誤,為何不刪除關鍵字const?這樣可以確保不會發生錯誤。
答:從邏輯上講,某個函數不應該修改類,則使用const關鍵字很不錯,因為這楊,如果我們不小心在這個函數中修改了成員變量的值,編譯器會幫助我們發現愚蠢的錯誤。
?
轉載于:https://www.cnblogs.com/jianjipan/p/10747775.html
總結
以上是生活随笔為你收集整理的C++的一些知识点摘抄(创建基本类 高级类)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: G102040I
- 下一篇: windows快捷键十八式(win10)