上次我們學習了面向對象,“類”的創建及公有屬性的定義
公有屬性定義的單詞是:public
公有屬性表示內部所定義的成員對程序所有的部分可見,這裡的成員包括:數據成員、成員函數以及類型
也就是說,無論是程序的什麼部分,都可以直接訪問、修改這些類的對象的成員
這就意味誰都可以修改類對象裡關鍵的數據信息,非常不安全
本次我們就來看一看“類”裡面私有屬性的定義
私有屬性定義的單詞是:private
私有屬性修飾成員時表示該成員僅在該類內可見,類外無法對這個成員進行訪問
常見的私有成員包括大部分的變量、一些不需要類的使用者關注的用於具體運算過程的函數
class Student{
private:
int id;
int age;
public:
int getID(){return id;}
int getAge(){return age;}
void setID(int newID);
void setAge(int newAge);
};
在上述代碼中我們定義了兩個私有成員:id、age;
接著定義了兩個公有成員:steID、setAge
同時申明了兩個函數:void setID(int newID);
void setAge(int newAge);
下面我們在類名後用作用域運算符"::"結合函數名的方式來指定類的函數並進行定義:
void Student::setID(int newID){id=newID;}
void Student::setAge(int newAge){age=newAge<100?newAge:99;}
接著在主函數中調用上面的兩個函數,將1和16分別賦給id和age
因為age為年齡,所以賦值時我們加上了一個條件語句:{age=newAge<100?newAge:99;}
判斷輸入的年齡的值是否大於100,如果小於100將原值賦予age,如果大於等於100將99賦予age
接著輸出時將id和age的值從私有成員中導出
int main(){
Student tom;
tom.setID(1);tom.setAge(16);
cout<<tom.getID()<<" "<<tom.getAge();
return 0;
}