C++相談室 part46
■ このスレッドは過去ログ倉庫に格納されています
0088デフォルトの名無しさん
2006/01/14(土) 20:40:18なので不都合がおきてる
class Base {
public:
int x_, y_; //ここが問題
//できればこうしたい
// std::vector<int> xy; int &x_; int &y_;
//Base(int x , int y): xy(2),x_(xy[0]), y_(xy[1]){}
Base(int x , int y): x_(x), y_(y){}
int doSome() { return (x_*y_);}
};
けれど他人のライブラリなので変更できないので
派生クラスで解決しようとした
class Derived :public Base
{
public:
std::vector<int> xy; int &x_; int &y_;
Derived(int x , int y): xy(2),x_(xy[0]), y_(xy[1]){}
};
main()
{
Derived d(1,2)
d.doSome() ;// x_ * y_ = 1*2 が帰ってくるようにしたい。
}
けれどdoSome()はちゃんと動かない当然だけど
Baseを変更しないでメンバー関数doSome()を使う方法ないんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています