#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“ ) ; // 修改第三個元素的數據成員值
添加回答
舉報
0/150
提交
取消