C++类中的继承实例详解

C++类中的继承实例详解

实例效果:

实现代码:

#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; } 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

做事不怕难,自无难人事。

C++类中的继承实例详解

相关文章:

你感兴趣的文章:

标签云: