###前提・実現したいこと
showdataに値渡しが行われた際に、デストラクタが発生するのを防ぐために、コピーコンストラクタを実装しましたが、エラーが発生し解決できません。
エラー箇所を解決できないので、すいませんが教えてください。
###発生している問題・エラーメッセージ
エラー文は下記のものだけです。
Runtime error(Exit status:134(Abort signal from abort(3)))
###ソースコード
<ヘッダー文> class Worker{ public: int number; char* name; double salary; Worker(); Worker(const Worker &obj); ~Worker(); }; <メイン文> #include <iostream> #include "Worker.h" using namespace std; Worker::Worker(){ name = new char[80]; cout<< " This is Constructor " << "\n"; strcpy(name, "undifined"); number = 0; salary = 0; } Worker::Worker(const Worker &obj){ cout<< " This is Copy Constructor " << "\n"; name = new char[80]; name = obj.name; this->number = obj.number; this->salary = obj.salary; }; Worker::~Worker(){ delete[] name; cout << "デコンストラクタ" << "\n"; } void ShowData(Worker w2){ cout << "name = " << w2.name << "\n"; strcpy(w2.name,"AVD"); cout << "name = " << w2.name << "\n"; cout << "number = " << w2.number << "\n"; cout << "salary = " << w2.salary << "\n"; } int main(){ Worker w1; strcpy(w1.name,"Takayuki"); w1.number =10; w1.salary = 100; cout << " Before shwodata" << "\n"; ShowData(w1); cout << " After shwodata" << "\n"; return 0; }
###補足情報(言語/FW/ツール等のバージョンなど)
paiza.io
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/21 05:26
2016/01/21 06:01