現在、私はJavaからC ++に切り替えていますが、これは私に苦労を与えています(しかし、多くの新しい経験^^)。私は自分のプログラムの構成を含むいくつかのデータ転送オブジェクトを書いています。いくつかのクラスを作成しましたが、コンテナのように動作するクラスが必要です。
コンテナのヘッダーは次のとおりです。
class MyContainer{
public:
MyContainer();
virtual ~MyContainer();
Config getConfig(TypeEnum type) {
switch (type) {
case ATYPE:
return config_a;
case BTYPE:
return config_b;
default:
break;
}
}
ConfigA config_a;
ConfigB config_b;
};
構成にはいくつかのデータが含まれており、別の構成ファイルから派生しています。
そしてここにC++があります-出典:
MyContainer::MyContainer(){
ConfigA config_a(int c = 1);
ConfigB config_b(double b = 2.1);
this->config_a = config_a;
this->config_b = config_b;
}
いくつか問題があると思います。しかし、私にとっての主な質問は 、このコンテナー内のこれらの構成を取得して、プログラムの他のモジュールと共有するにはどうすればよいですか?config_aをポインタにしようとしましたが、これらのタイプが一致しないというエラーメッセージが常に表示されます。
this->config_a = &config_a; //If ConfigA config_a; was ConfigA *config_a; instead
getConfig
もう少し時間があれば、 -Methodがこのように機能するかどうか教えてください。
そして、これについて別のトピックがある場合は、共有してください。ありがとう。