(この記事は管理人が復元しました)
もうひとつ質問です。
次のプログラムで
#include<iostream>
#include<cstring>
using namespace std;
class Musician{
public:
~Musician(); //非仮想デストラクタ:多様クラスについては推奨されない
//・・・
};
Musician::~Musician() {cout<<musician being destroyed \n;}
class Trumpeter:public Musician{
public:
~Trumpeter(); //これも非仮想デストラクタ
}
Trumpeter::~Trumpeter() {cout<<trumpeter being destroyed \n;}
int main(){
Trumpeter *pt;
Musician *pm;
pt=new Trumpeter; //TrumpeterはTrumpeterへのポインタにより指されている
delete pt; //ok:まずtrumpeter being destroyedをプリント
//次にmusician being destroyedをプリント
pm=new Trumpeter; //TrumpeterはMusicianへのポインタにより指されている
delete pm; //問題:musician being destroyedだけをプリント
}
をコンパイルしましたが、
Trumpeter::~Trumpeter : デストラクタ には戻り値の型を指定できません。
というエラーが出ました。
授業でやった通りのことを写したんですができません。
どなたか教えてください。