有四個檔案:class.h,class.cpp,fun.h,fun.cpp
1.第一種情況
class.h
#include
class c
;class.cpp
#include "class.h"
int main()
class.h:5: error: iso c++ forbids in-class initialization of non-const static member `i'
2.第二種情況
class.h
#include
class c
;int c::i(1);或者 int c::i = 1;
class.cpp
#include "class.h"
#include "fun.h"
int main()
fun.h
int fun();
fun.cpp
#include "class.h"
int fun()
multiple definition of `c::i
3.第三種情況
class.h
#include
class c;
class.cpp
#include "class.h"
#include "fun.h"
int c::i = 0;
int main()
fun.h
int fun();
fun.cpp
#include "class.h"
int c::i = 1;
int fun()
multiple definition of `c::i'
4.第四種情況
class.h
#include
class c;
class.cpp
#include "class.h"
#include "fun.h"
int c::i = 0;
int main()
fun.h
int fun();
fun.cpp
#include "class.h"
int fun()
輸出: 0
11
類成員初始化
在類內部 初始化的順序 靜態的成員變數 普通的成員變數 構造器的呼叫。在派生類中 初始化的順序 呼叫基類的構造器 按宣告順序呼叫成員的初始化方法 呼叫派生類構造器主體 大多數類的初始化都是按照這些順序結合在一起的。下面是乙個例子 public class test extends sub publi...
類成員初始化
一 預設呼叫的無參建構函式 include include using namespace std class studentid class student int main 8 91011class student 20 2122 intmain 執行結果 重新設計建構函式,對s物件進行初始化,...
C 類的靜態成員變數初始化
今天寫 時用了下c 中的靜態成員變數,發現了乙個以前不注意的現象,特此記錄下。有類如下 class audioplay audioplay audioplay audioplay audioplay audioplay audioplay get 以上 編譯通過,但是鏈結時說無法解析這個靜態變數a。...