首页 > 编程 > C++ > 正文

C++类中的继承

2019-11-08 20:17:11
字体:
来源:转载
供稿:网友
#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;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选