C++类中的继承

来源:互联网 发布:逆战刷永久枪软件 编辑:程序博客网 时间:2024/06/06 01:49
#include<iostream>#include<string>using namespace std;class Person{public:Person(const char* name = "abc"):_name(name){cout << "Person()" << endl;}Person(const Person& pp):_name(pp._name){cout << "Person(const Person&)" << endl;}Person& operator=(const Person& pp){cout << "Person& operator=(const Person&)" << endl;if (this != &pp){_name = pp._name;}return *this;}~Person(){cout << "~Person()" << endl;}protected:string _name;};class Student :public Person{public:Student(const char* name, int num):Person(name), _num(num){cout << "Student()" << endl;}Student(const Student& A):Person(A), _num(A._num){cout << "Student(const Student& A)" << endl;}Student& operator=(const Student& A){cout << "Student& operator=(const Student& A)" << endl;if (this != &A){Person::operator=(A);_num = A._num;}return *this;}~Student(){cout << "~Student()" << endl;}private:int _num;};void test(){Student a1("peter", 20);Student a2(a1);a2 = a1;}int main(){test();return 0;}

0 0
原创粉丝点击