📄 f0917.cpp
字号:
//=====================================
// f0917.cpp
// copy constructor
//=====================================
#include<iostream>
using namespace std;
//-------------------------------------
class Person{
char* pName;
public:
Person(char* pN="noName"){
cout<<"Constructing "<<pN<<"\n";
pName = new char[strlen(pN)+1];
if(pName) strcpy(pName,pN);
}
Person(const Person& s){
cout<<"copy Constructing "<<s.pName<<"\n";
pName = new char[strlen(s.pName)+1];
if(pName) strcpy(pName, s.pName);
}
Person& operator=(Person& s){
cout<<"Assigning "<<s.pName<<"\n";
if(this==&s) return s;
delete[] pName;
pName = new char[strlen(s.pName)+1];
if(pName) strcpy(pName,s.pName);
return *this;
}
~Person(){
cout <<"Destructing "<<pName<<"\n";
delete[] pName;
}
};//-----------------------------------
int main(){
Person p1("Randy");
Person p2("Jenny");
p2 = p1;
}//====================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -