0
class obj1{
public:
void do(){}
void some(){}
void stuff(){}
};
class obj2{
public:
void nowDo(){}
void someOther(){}
void things(){}
};
template <class T>
class structure{
public:
/*
access public members of Ts's elements while encapsulating the vector
(preferably without copying all of obj's public members in the structure)
*/
private:
vector <T *> Ts;
};
void foo(){
structure <obj1 *> str1;
structure <obj2 *> str2;
/*
Access public members of str1 and str2's elements
*/
}
'構造体'テンプレートクラス内にベクトルをカプセル化しながら、 'obj'要素のパブリックメンバーにアクセスできる手段はありますか?カプセル化されたベクターの要素のpublicメンバーにアクセスするには?
「構造体」を均質化されたテンプレートクラスにしたいので、「構造体」のすべての 'obj'パブリックメンバーをコピーせずに行うことをお勧めします。独自のデータを作成する必要はありません私が含めるすべてのオブジェクトの構造。
あなたは '*'余計なものを持っています。あなたのテンプレートの引数か、ベクトル定義のいずれか。いずれにせよ、あなたの質問は広すぎます。さまざまな場所でメンバーにアクセスする方法はたくさんあります。 – StoryTeller
また、 'struct'は' class'ではありません – Jerfov2
オーバーロードされた 'operator ']'? – Quentin