1、有時候類需要它的一些成員與類本身直接相關,而不是與類的各個物件保持聯絡。
2、靜態資料成員、靜態成員函式不與任何物件繫結在一起,靜態成員函式不包含this指標,靜態成員函式不能宣告成const,而且也不能在static函式體內使用this指標。這一限制既適用於this的顯式使用,也對呼叫非靜態成員的隱式使用有效。
3、class account
static double rate(){}
static void rate (double);
private:
std::string owner;
double amount;
static double interestrate;
static double initrate();
使用作用域運算子訪問靜態成員
double r;
r=account::rate();
仍可以使用類的物件、引用和指標來訪問靜態成員:
account ac1;
account *ac2=&ac1;
r=ac1.rate();
r=ac2->rate();
成員函式不通過作用域運算子就可以直接使用靜態成員。
4、可以在內部和外部定義靜態成員函式,static宣告必須在類的內部。
類的靜態資料成員不是由建構函式初始化,必須在類的外部定義和初始化每個靜態成員。
5、靜態成員可以是不完全型別,而非靜態不行
可以使用靜態成員做預設實參,而非靜態不行。
靜態資料成員與靜態成員函式
include include using namespace std class student student static intnumber protected static int noofstudents char name 40 int student noofstudents 0 靜...
靜態資料成員與靜態成員函式
靜態屬性不是類中每個物件擁有的,而是共有的。由於靜態成員逃離了物件而存在的性質,所以該實體應該在所有物件產生之前產生,更適合的時機是在程式啟動的時候做初始化。初始化時候不可重複上static,但是要加上類名空間。該實體在程式中的唯一性,要求他不可以和類的定義放在標頭檔案中,但是它確實是類的成員,所以...
C 類靜態成員與類靜態成員函式
當將類的某個資料成員宣告為static時,該靜態資料成員只能被定義一次,而且要被同類的所有物件共享。各個物件都擁有類中每乙個普通資料成員的副本,但靜態資料成員只有乙個例項存在,與定義了多少類物件無關。靜態方法就是與該類相關的,是類的一種行為,而不是與該類的例項物件相關。靜態資料成員的用途之一是統計有...