我需要爲我當前的代碼添加一個表格格式。下面的代碼版本稍微簡單一些。對C++表格格式的建議
class A {
public:
A():x(0) {
} int getValue() {
return x;
}
private:
int x;
};
class B {
public:
B():y(0) {
} int getValue() {
return y;
}
private:
int y;
};
class C {
public:
C():z(0) {
} int getValue() {
return z;
}
private:
int z;
};
class D {
public:
D(A x, B y, C z) {
a = x;
b = y;
c = z;
} A getA() {
return a;
}
B getB() {
return b;
}
C getC() {
return c;
}
private:
A a;
B b;
C c;
};
typedef enum {
TABLE_A = 0,
TABLE_B,
TABLE_C,
TABLE_D,
TABLE_MAX
} table_index;
typedef struct tableInfo_tag {
table_index id, D d;
} tableInfo;
tableInfo gtable[table_index::TABLE_MAX] = {
{TABLE_A, {1, 2, 3}},
{TABLE_A, {4, 5, 6}},
{TABLE_A, {7, 8, 9}}
}
但我不知道我不能給D類表中的值,因爲它接受構造函數。我需要這種表格格式,因爲我可以給出大範圍的值集合並根據特定的條件獲取集合......我不是C++專家,所以關於如何進一步進行的任何輸入或任何其他想法/輸入真的是非常有幫助的
類型(!)'table_index'定義在哪裏? 'typedef tableInfo_tag {...} tableInfo;'也不會編譯。請顯示真實的代碼。順便說一句:我認爲你的問題可以通過使用普通結構來解決,因爲即使在舊的C++標準下,它們也可以從列表{{}}中輕鬆地初始化。 –
感謝您對comments.just的糾正。不幸的是,我不能顯示原始代碼(儘管我已經寫了這部分代碼),因爲它是大型項目代碼的一部分。我只是想將表格版本添加到現有的C++代碼中,所以班級是首選。 D類已經定義..所以我需要看到,如何最好地添加一個D值表... – pdk
我必須補充說你的代碼很難閱讀。您應該給變量和類型賦予有意義的名稱,併爲您的代碼設置格式以供人們閱讀,而不僅僅是編譯器。 – idoby