私は、従業員のタイプが正しく読み込まれるようにEmployeeクラスに>>をオーバーロードする必要があるプログラムを用意しています。私のメインプログラムに:派生クラスの>>演算子を上書きする
Employee *emp;
empIn >> emp;
私はそれをしたいと思う場所、それが派生クラスのすべてに適用されるだけであるため、基底クラスは、ある考え出し。
istream &operator >> (istream &stream, Employee &emp)
{
int type;
stream >> type;
switch(type){
case 1:
*emp = new Hourly;
break;
...
}
return stream;
}
しかし、それはしていません:型が、私はこのような何かがうまくいくかもしれないことを考え出しので(私はそれを読むまで、私は種類を知らないと)行の先頭に整数によって決定されます作業。私はこれについて正しい方向に行くつもりですか?もしそうでなければ、正しい方向に向かわせてください。
「それはありません」と言ったらどういう意味ですか? – Maxpm
これは 'Employee *&emp'であるべきです –
それは動作しません、それはコンパイルされません –