引数付きコンストラクタを含むクラスのインスタンスを、新たなクラスのメンバにしたい時はどのようにすればよいでしょうか。
C++初心者です。線形計画問題を解く数理モデルを、IBM社のCPLEXを用いて開発しようとしています。その際、CPLEX側に用意してあるIloModelクラスオブジェクトを作る必要があり、このクラスのコンストラクタには引数付きコンストラクタが使用されています。具体的には、IloEnvクラスのオブジェクトを引数に設定するべきとされています。例えば、IBMから公表されているサンプルコードの冒頭は次のようになっています。
C++
1int 2main (int argc, char **argv) 3{ 4 IloEnv env; 5 try { 6 IloModel model(env);
解きたいモデルの都合上、線形計画モデルを大量に作る必要があり、モデル生成の段階をクラス化し、IloModelクラスのインスタンスを自作のLP_Modelクラスのメンバとしたいのですが、どのようにすれば良いのかわかりません。以下のようなコードを試してみたのですが、うまくいきません。
C++
1class LP_Model 2{ 3public: 4 IloModel model(); 5 6 LP_Model(IloEnv env); 7}; 8 9LP_Model::LP_Model(IloEnv env) 10{ 11 model(env); 12}
このような場合、どのようにするべきなのでしょうか。CPLEX側の問題ではなく、C++の基本文法についての認識不足だと感じております。基本的な質問で恐縮ですが、ご回答いただきますと幸いです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー