亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的程序在運行時出錯,應該是內存使用上的問題,請問應該怎么修改?謝謝了!!

我的程序在運行時出錯,應該是內存使用上的問題,請問應該怎么修改?謝謝了?。?/h1>
#include<iostream>#include<string>using namespace std;class Student{private:int age;char *name;public:Student(int m,char *n);Student();~Student();void SetMember(int m,char *n);int GetAge();char *GetName();};Student::Student(int m,char *n){age=m;if(n){name=new char[strlen(n)+1];strcpy(name,n);}}Student::Student(){age=0;name="unnamed";}Student::~Student(){cout<<"Destructor called."<<endl;delete []name;}int Student::GetAge(){return age;}char *Student::GetName(){return name;}void Student::SetMember(int m,char *n){age=m;if(n){name=new char[strlen(n)+1];strcpy(name,n);}else name=0;}int main(){Student stu[3]={Student(13,"wang")};stu[2].SetMember(12,"zhang");cout<<stu[0].GetAge()<<","<<stu[0].GetName()<<endl;cout<<stu[1].GetAge()<<","<<stu[1].GetName()<<endl;cout<<stu[2].GetAge()<<","<<stu[2].GetName()<<endl;return 0;}題目要求是:定義一個學生類 Student ,設計私有數據成員:年齡 int age; 姓名 char *name; 公有成員函數: 構造函數 帶參數的構造函數 Student ( int m,char *n ) ; 不帶參數的構造函數 Student ( ) ; 析構函數 ~ Student ( ) ; 釋放由 name 申請的動態空間 改變數據成員值函數 void SetMember ( int m,char *n ) ;獲取數據成員函數 int Getage ( ) ; char *Getname ( ) ; 在 main ( ) 中定義一個有 3 個元素的對象數組并分別初始化,然后輸出對象數組的信息, main 函數的部分內容如下: int main ( ) { Student stu[3]={Student(13,“wang”);……} // 第一個元素調用帶能構造函數初始化 // 第二、三個元素由無參構造函數初始化,默認年齡為 0 ,姓名為unnamed; //stu[2]. SetMember ( 12,"zhang“ ) ; // 修改第三個元素的數據成員值 
查看完整描述

1 回答

?
呼如林

TA貢獻1798條經驗 獲得超3個贊

加個頭文件cstring試試,你用了strlen()函數

查看完整回答
反對 回復 2023-03-18
  • 1 回答
  • 0 關注
  • 122 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號