我試着問這個問題,這是在細節上多一點模糊,但現在我到家了,我希望我能更好地解釋自己。如何在標題中存儲變量,以便在主cpp中使用?
說,我有一個類,在這種情況下,TestClass
,我已經在TestClass.h
中聲明瞭它的構造函數和方法。現在,我想創建這些元素的新陣列,並將它們存儲的地方,在加載到我的main.cpp
,當我想。
我想這樣做,是在新的頭這樣做,我叫Contents Table.h
。在這裏,我嘗試製作這些TestClass
元素的數組。但是,我不知道,如何正確地做到這一點。
Testclass.h
#pragma once
#include <string.h>
#include <iostream>
using namespace std;
class TestClass
{
private:
string name;
string description;
public:
TestClass()
{
name = "";
description = "";
}
TestClass(string name, string description)
{
this->name = name;
this->description = description;
}
~TestClass()
{
}
};
這裏是目錄,在這裏我要存儲我的數據,我手動寫進去,我有兩個想法關於這樣做,不知道哪一個是可行的:
第一個想法:
ContentsTable.h
#include "Testclass.h"
TestClass* buildData(void)
{
TestClass* World = new TestClass[5];
World[0] = TestClass("A", "A");
//Etc, fill the rest up.
return World;
}
,並在主的.cpp,我會調用這個函數,像
#include "Contents Table.h"
//...
TestClass* DataArray = buildData();
設想二:
ContentsTable.h
#include "Testclass.h"
namespace DataArray2
{
extern TestClass* DataArray2 = new TestClass[5];
DataArray2[0] = TestClass("A", "A");
};
而且我在main.cpp中再次聲明,但第二件事,我試圖重新聲明DataArray2,當我嘗試給它一個元素值時。 (同樣,我敢肯定,這是我的錯這個,對不起,如果它看起來像一個非常平庸的代碼,我沒有學習很長時間。)
我更喜歡第一種方式,但不需要使用指針。 – doctorlove
我很想嘗試兩種,看看哪個更好,但我不能得到第二個工作,因爲我是菜鳥,我似乎無法找出,如何修改數組的元素。 – SparksH
我建議使用'的std ::矢量',而不是原始指針的陣列。 –
Carlton