C+ 類 常量函數、友元函數、單例

  1. 常量函數 表示不允許修改類中的成員
int i,j  //類中的成員
void Student::set(int j) const {
	this->j = j;  // 錯誤
    cout<<i<<endl;  // 正確
}
  1. 友元函數
    在定義一個類的時候,可以把一些函數(包括全局函數和其他類的成員函數)聲明爲“友元”或一些類聲明爲友元,這樣這些函數就成爲該類的友元函數,在友元函數內部就可以訪問該類對象的私有成員了。
friend void set(Student* stu); // 友元函數 在該函數內部可以訪問Student類的私有變量
class Student {
    friend void set(Student* stu);
    friend class Friend; // 友元類 在該類中可以訪問Student的私有變量
};
  1. 單例
class Runtime {
private:
    static Runtime* instance;
    Runtime();
public:
    static Runtime* getInstance();
};

#include "Runtime.hpp"
Runtime::Runtime(){
}
Runtime* Runtime::instance = 0;
Runtime* Runtime::getInstance() {
    if (!instance) {
        instance = new Runtime();
    }
    return instance;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章