目前我从 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 是否可以这样工作。
如果还有其他主题,请分享。谢谢。