网站首页 语言 会计 互联网计算机 医学 学历 职场 文艺体育 范文
当前位置:学识谷 > 计算机 > C语言

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

栏目: C语言 / 发布于: / 人气:1.66W

类的继承,是新的类从已有类那里得到已有的特性。或从已有类产生新类的过程就是类的.派生。下面是小编分享的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;

}