當前位置:編程學習大全網 - 編程軟體 - c++編程想從終端輸入兩個字符串,但有bug,求大神指點

c++編程想從終端輸入兩個字符串,但有bug,求大神指點

String str1,str2;這句執行完後,p指針都指向NULL。

緊接著就執行了str1.Input_Data(&str1);,裏面只有壹行

cin>>p1->p;

這是把數據寫入NULL是非法的。

最簡單的解決方案是,創建對象的時候為p指針分配足夠大的儲存空間。另外為了避免內存泄漏,應該在銷毀對象的時候釋放p所指的空間。

所以類定義的前幾行改成

{

public:

String(){p=new?char?[100];}//構造函數讓p能容納100個字符

~String()?{delete?[]?p;}//我加上的析構函數

其它代碼不變,對於妳的這個問題應該是夠用了,但還有其它BUG,比如當輸入兩個字符串相同的時候顯示二者並不相等,這些問題請樓主繼續DEBUG吧,我就只解決這個程序完成不能運行的問題吧,如果需要,繼續追問。

  • 上一篇:車輛類型(車輛類型K21、K31、K32、H32各代表什麽意思?)
  • 下一篇:誰能幫我用matlab做壹道運籌學的題,急,在線等,要交作業的
  • copyright 2024編程學習大全網