person1.h
来自「C++实训教程」· C头文件 代码 · 共 56 行
H
56 行
//Person1.H
#if !defined(Person1_H)
#define Person1_H
class Person
{
char* name;
int age;
public:
Person()
{
cout << "Init default" << endl;
name = (char*)0;
age = 0;
}
Person(char* name)
{
cout << "Initalizing " << name << endl;
name = new char[strlen(name) + 1];
if (name) strcpy(name, name);
age = 0;
}
Person(char* n, int a)
{
cout << "Init " << n << " " << a << endl;
name = new char[strlen(n) + 1];
if (name) strcpy(name, n);
age = a;
}
Person(Person& pRef)
{
cout << "Copying " << pRef.age << " " << pRef.name << endl;
name = (char*) 0;
age = 0;
if (pRef.name)
{
name = new char[strlen(pRef.name) +1];
if (name) strcpy(name, pRef.name);
}
if (pRef.age) { age = pRef.age; }
}
Person& operator = (Person& pRef)
{
name = new char[strlen(pRef.name) + 1];
if (name ) strcpy(name, pRef.name);
age = pRef.age;
return *this;
}
~Person()
{
cout << "Destroying " << (name ? name : "<default>")
<< " "<< (age ? age : 0) << endl;
if (name) { delete name; age = 0; }
}
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?