文章目錄
- 類與對(duì)象
- 構(gòu)造函數(shù)、析構(gòu)函數(shù)
- get/set方法
- 函數(shù):類內(nèi)聲明、類外定義
- static
類與對(duì)象
#include<iostream>
#include<string>
using namespace std;
class Person{public:string name;int age;public:void eat(){ cout<<"eat()"<<endl;}void show(){cout<<"[name:"<<name<<", age:"<<age<<"]"<<endl;}
};
int main(){Person p1; p1.name = "AAA";p1.age = 11;p1.eat();p1.show();return 0;
}
構(gòu)造函數(shù)、析構(gòu)函數(shù)
#include<iostream>
#include<string>
using namespace std;class Person{public: string name;int age;public: Person(){cout<<"構(gòu)造函數(shù):Person()"<<endl;} Person(string _name,int _age){name = _name;age = _age;cout<<"構(gòu)造函數(shù):Person(string _name,int _age)"<<endl;}Person(const Person& p){ name = p.name;age = p.age;cout<<"構(gòu)造函數(shù):Person(const Person& p)"<<endl;}~Person(){ cout<<"~Person()"<<name<<endl; }void show(){ cout<<"[name:"<<name<<", age:"<<age<<"]"<<endl;}
};
int main(){Person p1; p1.name = "AAA"; p1.age = 11;p1.show();Person p2("BBB", 12);p2.show();Person p3(p1);p3.show(); return 0;
}
get/set方法
#include<iostream>
#include<string>
using namespace std;
class Person{private: string name;int age;public: Person(){cout<<"構(gòu)造函數(shù):Person()"<<endl;} Person(string _name,int _age){name = _name;age = _age;cout<<"構(gòu)造函數(shù):Person(string _name,int _age)"<<endl;}Person(const Person& p){ name = p.name;age = p.age;cout<<"構(gòu)造函數(shù):Person(const Person& p)"<<endl;}~Person(){ cout<<"~Person()"<<name<<endl; }void setName(string _name){ name = _name; } string getName(){ return name; }void setAge(int _age){ age = _age; }int getAge(){ return age; }void show(){ cout<<"[name:"<<name<<", age:"<<age<<"]"<<endl;}
};
int main(){Person p1;
p1.setName("AAA");p1.setAge(11);p1.show();Person p2("BBB", 12);p2.show();Person p3(p1);p3.setName("CCC");p3.show(); return 0;
}
函數(shù):類內(nèi)聲明、類外定義
#include<iostream>
#include<string>
using namespace std;class Person{private: string name;int age;public: Person(); Person(string _name,int _age);Person(const Person& p); ~Person(); void setName(string _name){ name = _name; } string getName(){ return name; }void setAge(int _age){ age = _age; }int getAge(){ return age; }void show(){ cout<<"[name:"<<name<<", age:"<<age<<"]"<<endl;}
};
Person::Person(){cout<<"構(gòu)造函數(shù):Person()"<<endl;
}
Person::Person(string _name,int _age){name = _name;age = _age;cout<<"構(gòu)造函數(shù):Person(string _name,int _age)"<<endl;
}
Person::Person(const Person& p){ name = p.name;age = p.age;cout<<"構(gòu)造函數(shù):Person(const Person& p)"<<endl;
}
Person::~Person(){
cout<<"析構(gòu)函數(shù):~Person()"<<name<<endl;
}int main(){Person p1;
p1.setName("AAA");p1.setAge(11);p1.show();Person p2("BBB", 12);p2.show();Person p3(p1);p3.setName("CCC");p3.show(); return 0;
}
static
#include<iostream>
#include<string>
using namespace std;class Person{private: string name;int age;public: static int cnt; Person(); Person(string _name,int _age);Person(const Person& p); ~Person(); void setName(string _name){ name = _name; } string getName(){ return name; }void setAge(int _age){ age = _age; }int getAge(){ return age; }void show(){ cout<<"[name:"<<name<<", age:"<<age<<"]"<<endl;}
};
int Person::cnt = 0;
Person::Person(){cnt ++;cout<<"構(gòu)造函數(shù):Person()"<<endl;
}
Person::Person(string _name,int _age){cnt ++;name = _name;age = _age;cout<<"構(gòu)造函數(shù):Person(string _name,int _age)"<<endl;
}
Person::Person(const Person& p){ cnt ++;name = p.name;age = p.age;cout<<"構(gòu)造函數(shù):Person(const Person& p)"<<endl;
}
Person::~Person(){ cnt --;
cout<<"析構(gòu)函數(shù):~Person()"<<name<<endl; cout<<Person::cnt<<endl;
}
int main(){
cout<<Person::cnt<<endl; Person p1;
p1.setName("AAA");p1.setAge(11);p1.show();cout<<Person::cnt<<endl; Person p2("BBB", 12);p2.show();cout<<Person::cnt<<endl; Person p3(p1);p3.setName("CCC");p3.show(); cout<<Person::cnt<<endl; cout<<p3.cnt<<endl; return 0;
}