分からないこと
教材のプログラムを参考に例外処理のプログラムを書いてみたのですが、ストラクタの()と{}の間にある: trigger(trigger)が何を意味するのか分かりません。教えてください。
該当のソースコード
C++
1#include<iostream> 2#include<vector> 3using namespace std; 4class CException{ 5 public: 6 CException(const string & trigger) : trigger(trigger){}; 7 const void Reason(); 8 private: 9 string trigger; 10}; 11const void CException::Reason(){ 12 cout << trigger << endl; 13} 14int main() 15{ 16 try{ 17 throw CException("out of memory"); 18 } 19 catch(CException & e){ 20 e.Reason(); 21 e.~CException(); 22 } 23 try{ 24 throw CException("index out of range"); 25 } 26 catch(CException & e){ 27 e.Reason(); 28 e.~CException(); 29 } 30 try{ 31 throw CException("divided by zero"); 32 } 33 catch(CException & e){ 34 e.Reason(); 35 } 36 return 0; 37}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/24 15:04
2020/04/24 15:23 編集
2020/04/24 15:22
2020/04/25 06:20