上海龙凤419

C说话

C++类中的担当实例详解

时候:2024-07-05 12:37:40 C说话 我要投稿
  • 相干保举

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++类中的担当实例详解】相干文章:

c++疾速排序详解10-18

Java完成多担当的实例07-18

C++类的转换10-17

C与C++之间彼此挪用的实例07-07

Java完成在差别线程中运转的代码实例详解06-11

Java外部类详解及实例阐发06-25

C说话轮回行列的表现与实例详解08-21

C说话归并排序及实例代码详解11-02

java担当笼统类07-28

Java中的Spring入门实例09-15