我想調用構造函數H,但由於某種原因,它沒有被調用。 當我編譯我的代碼時,我得到沒有錯誤,並且我得到輸出:構造函數在主要調用,但對象沒有正確創建
對象初始化。
H object initialized。
如果H被正確初始化,那麼也應該顯示構造函數的cout。
有人可以幫忙嗎?謝謝。
我也有另一個問題。我該如何改變hVec [i] .a的值,並且具有值爲 aArray [i] .a的值也取決於此值?我知道我想用指針,但是很困惑。抱歉有這些問題;我是C++編程中的新手。
#include <vector>
#include <iostream>
struct A
{
A(int av):a(av){}
int a;
};
struct Heap
{
Heap(std::vector<A> hVal)
{
std::cout << "Constructor for H object. \n";
for (int i=0; i<hVal.size(); ++i)
{
hVec.push_back(hVal[i]);
std::cout << "hVec[i].a = " << hVec[i].a << " ";
}
std::cout << std::endl;
}
std::vector<A> hVec;
};
int main()
{
A a0(2), a1(4), a2(8);
std::vector<A> aArray;
aArray.push_back(a0);
aArray.push_back(a1);
aArray.push_back(a2);
std::cout << "A object initialized. \n";
Heap h(A);
std::cout << "H object initialized. \n";
return 0;
}
請一次提出一個問題 –