我有一個應該在構造函數中初始化的.h文件中創建的對象。該對象通過當前應用程序中5的COM端口號。爲此,我在.h文件中創建了一個const int。在同一構造函數中初始化const int和具有該const int的對象
編輯:我添加了一個更完整的示例
class ClassB
{
public:
ClassB(int comPort);
private:
int m_comPort;
};
ClassB::ClassB(int comPort) :
m_comPort(comPort)
{
}
class ClassA
{
public:
ClassA();
private:
const int comPort;
ClassB B;
};
ClassA::ClassA() :
comPort(5),
B(comPort)
{
}
int main()
{
ClassA A;
return 0;
}
由於COMPORT之前被初始化對象被完全初始化,爲相稱的值是垃圾。
避免這種情況的正確方法是什麼?我能想到以下幾點:
- 初始化的const int的頭文件
- 創建和初始化對象的構造
- 的身體使用的#define
如果'comPort'是在'B'之前的類中定義的,那麼它不會是垃圾。沒有足夠的信息來回答您的問題或重現問題。 – wally
我會編一個更完整的例子,道歉! – YouKnowNothingJohn
添加了更詳細的代碼示例。 – YouKnowNothingJohn