#include <iostream>
using namespace std;
class teacher{
private:
int Tnum;
public:
teacher(){
Tnum = 0;
}
teacher(int n){
cout << "creating teacher"<<endl;
Tnum = n;
}
~teacher(){
cout << "destroying teacher" << endl;
}
};
class student: public teacher{
private:
int Snum;
public:
student(){
Snum =0;
}
student(int n){
cout << " creating student"<<endl;
Snum = n;
}
~student(){
cout << "destroying student"<<endl;
teacher t(1);
cout << "teacher created"<<endl;
}
};
int main(){
teacher t(20);
student s(30);
}
3
A
答えて
3
コンパイルした例を示しました。何が起こるのですか?
他の関数で作成されたオブジェクトと同じように動作し、スコープ外になると破棄されます。
:デストラクタの本体を実行すると、本体内に割り当てられた任意の自動オブジェクトを破壊した後
[...]
これは、内のオブジェクトを作成することを確認し、デストラクタの本体は合法です。
しかし、注意してください!デストラクタが非投げ込みで、例外に遭遇するとアプリケーションが終了するため、これらのオブジェクトのコンストラクタが例外をスローすると、あなたを傷つける可能性があります。
関連する問題
- 1. デストラクタでオブジェクトへの参照を作成するとどうなりますか?
- 2. オブジェクトを新規作成するとどうなりますか?
- 3. シングルトンパターンでシリアライズ可能オブジェクトを作成するとどうなりますか?
- 4. 仮想デストラクタを持たない多相オブジェクトを削除するとどうなりますか?次の例で
- 5. 同じオブジェクト名を持つオブジェクトを作成するとどうなりますか
- 6. シノニムなしでストアドプロシージャを作成するとどうなりますか?
- 7. SQLite:FTSモジュールなしでINDEXを作成するとどうなりますか?
- 8. Javaでのオブジェクト作成の流れはどのようになりますか?
- 9. 2^31以上の異なるオブジェクトを作成するとどうなりますか?
- 10. OnInitの外でwxWidgets GUIコンポーネントを作成するとどうなりますか?
- 11. オブジェクト作成スレッドでマーシャリングされたCOMインターフェイスポインタを使用するとどうなりますか?
- 12. デストラクタはどこにありますか?
- 13. オブジェクト/変数をスローするとどうなりますか?
- 14. 別のデストラクタの実行中にオブジェクトが作成されたかどうかを検出するトリックはありますか?
- 15. MemoryCacheオブジェクトがCacheMemoryLimitを超えるとどうなりますか?
- 16. 新しいリポジトリを作成するとどうなりますか?
- 17. Vue:同じコンポーネントを何回も作成するとどうなりますか
- 18. watir-webdriverでブラウザを実行するクラスのデストラクタのような関数を作成できますか?
- 19. C++デストラクタの作成
- 20. プリインクリメント操作中にオブジェクトにはどうなりますか?
- 21. デストラクタが最終的になることがありますか?
- 22. スウィフトのデストラクタなどがありますか?
- 23. pythonでオブジェクトを再構築するか、オブジェクトを再作成するのはどういう意味ですか?
- 24. Javaでjsonオブジェクトを作成する必要があります。私はどうしますか?
- 25. CRTPでデストラクタをどのように実装しますか?
- 26. どのようにJavaクラスのオブジェクトを作成しますか?
- 27. 存在しないオブジェクトを作成するOneToOneFieldを作成できますか?
- 28. Ruby - MatchDataオブジェクトは.newなしでどのように作成されますか?
- 29. なぜQSharedPointer <T> ::不完全オブジェクトの呼び出しデストラクタを作成しますか?
- 30. Qtでは、スレッドが終了するとオブジェクトはどうなりますか?
C++ではこれを実行できますが、何の意味もありません。何をしたいですか? – ConsistentProgrammer
これは意味があります。たとえば、変更をデータベースに書き込むクラスのインスタンスを作成することができます。もちろん、オブジェクトを作成すると例外がスローされる可能性があり、デストラクタは決して*を投げてはいけないという問題があります。 –