0
我工作的一個項目中,有一個在頭文件中的一個聲明爲靜態對象(說A.H)。我包括在A.H另一頭文件,我可以訪問該對象和它的功能和數據,就像它是同一個對象。當將A.h包含到B.cpp中並嘗試使用同一個對象時,問題就開始了。對象存在正常的,但它不是同一個對象,即所有被設置爲其他值,現在成員0 我失去了一些東西在這裏?靜態對象與Visual Studio
示例代碼:
A.H
class foo {
int result;
// variables and methods
} static foo_obj;
B.h
#include "A.h"
// Do other things
foo_obj.manipulate_result(); // Uses methods of objects within B.h
// Do other things
foo_obj.showResult(); // This gives me a non-zero value
A.cpp
#include "A.h"
// Do other things
foo_obj.showResult();
// This outputs zero if called here even though
// foo_obj should be in the same state as in B.h
示例代碼將在這裏幫助。 '靜態'可以在C++中以多種方式使用,一種是明確地創建你觀察到的行爲! – Keith 2011-02-16 05:01:49
我的回答得到了我的問題感謝丹尼爾A.白色。我將示例代碼放入,以便更容易理解。 – 2011-02-17 19:11:07