class1.h
#pragma once
using namespace std;
class class1
;
class1.cpp
#include "class1.h"
#include "class2.h"
#include extern class2 gclass2; //使用全域性變數
class1::class1()
class1::~class1()
class2.h
#pragma once
using namespace std;
class class2
;
class2.cpp
#include "class2.h"
#include "class1.h"
#include class2::class2():m_i(10)
class2::~class2()
main.cpp
#include "class2.h"
using namespace std;
class1 gclass1;
class2 gclass2;
int main()
class1.h
#pragma once
using namespace std;
class class1
;
class1.cpp
#include "class1.h"
#include #include "class2.h"
#include "fun.h"
class1::class1()
class1::~class1()
fun.h
#pragma once
#include "class2.h"
//通過手動呼叫方式建立物件
class2& getclass2obj();
class2.h
#pragma once
using namespace std;
class class2
;
class2.cpp
#include "class2.h"
#include "class1.h"
#include "fun.h"
#include class2::class2():m_i(10)
class2::~class2()
//通過手動呼叫方式建立物件
//靜態變數定義在函式中,使用時才會建立,可以起到節省記憶體作用
//靜態變數只會被定義1次,不會被重複定義
class2& getclass2obj()
main.cpp
#include #include "class1.h"
#include "class2.h"
using namespace std;
class1 gclass1;
int main()
類的執行順序
靜態變數和靜態方法在類載入的時候執行 1 靜態塊優先執行載入 並且靜態塊之執行一次 2 非靜態塊或者非靜態變數其次載入 3 最後是構造器載入 如果某個物件出發執行了第乙個靜態塊 那麼其他所有的靜態塊都由此物件初始化執行 不要再靜態塊new物件 栗子 public class employee sta...
C 類例項化執行順序
確定類例項化時內部內容的執行順序,同時也考慮到繼承的關係。定義乙個父類parentclass和乙個子類subclass。父類 public class parentclass static int s 2 static public string name static parentclass pu...
C 例項化類的執行順序
先進行細分 類的成員分為 字段 屬性 方法 構造方法 成員的修飾符 靜態成員 例項成員 層次結構 父類 子類 先不考慮繼承關係,執行順序為 靜態字段 靜態構造方法 例項字段 例項構造方法 屬性和方法是在呼叫的時候才執行,這裡就不考慮了。如何理解上面的執行過程?假如讓我來設計執行過程,我該如何考慮,依...