密度、原子量などの属性を持つガスがたくさんあります。基本的には、名前のついたガスを追加することができます。クラスを使用して並べ替えることができます:コンテナ内に名前のある要素があります。
class gases
{
class gas
{
double mass;
double density;
};
gas h2o;
gas co2;
};
派生クラスでこれを行うのが好ましいと思いますか?私はベースクラスのガスからh2oを導き出しますか?しかし、私はそれを実装する方法が完全にはわかっていない、私はそれが私が探しているものだとは思わない。私が不満を抱いているのは解決策です。クラス定義にすでにすべてのガスを宣言しなければならないということです。 (擬似コードで)のような何かをする私に、より直感的になるだろう:
object gas (mass,density)
container gases
gases.append(h2o(m,rho))
cout << "the atomic mass of water is" << gases.h2o.mass << endl;
、私はのために、私は名前付きオブジェクトを追加することができたコンテナを探していますされていること。
もう1つの不満足な解決策はガスオブジェクトのベクターを作ることですが、ガスを追加する順序を覚えておく必要があります。
あなたは[STD ::マップ](http://en.cppreference.com/w/cpp/container/map)のような連想コンテナをしたいような音。 –
'std :: map gases;は動作するはずです。おそらく、 "名前付きオブジェクト" _が意味するものをより正確に定義することができます。 –
user0042
はい、 'std :: map'は私が探しているものをやっているようです。しかし、メタの質問:なぜこの質問は即決投票になったのですか?私はそれがあってはならないと言っているわけではありません、私はちょうど理由を理解したい、将来的にはより良い質問をすることができます。 – storluffarn