6_9.cpp

来自「清华大学C++补充习题代码」· C++ 代码 · 共 48 行

CPP
48
字号
//6_9.cpp
#include<iostream>
#include<cstring>
using namespace std;
class Student
{
public:
	Student();
	~Student();
	char* GetName() { return Name; }
	void SetName(char* nam) {strcpy(Name,nam);}
private:
	char* Name;
};

Student::Student()
{
	cout<<"Constructor is called!"<<endl;
	Name=new char[20];
	strcpy(Name,"zzz");
}
Student::~Student()
{
	delete[] Name;
	cout<<"Destructor is called!"<<endl;
}

int main()
{
	Student a;
	Student b(a);
	cout<<"a's Name:"<<a.GetName()<<endl;
	cout<<"b's Name:"<<b.GetName()<<endl;
	a.SetName("sss");
	cout<<"a's Name:"<<a.GetName()<<endl;
	cout<<"b's Name:"<<b.GetName()<<endl;
	return 0;
}
/*
程序运行结果为:
Constructor is called!
a's Name:zzz
b's Name:zzz
a's Name:sss
b's Name:sss
Destructor is called! 
出错
*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?