C++中继承与多态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中继承与多态相关的知识,希望对你有一定的参考价值。

C++中的继承与多态是比较重要的一点,大致来讲解一下继承与多态的特点。继承是子类运用基类的成员以及成员函数,继承的方式分为public,protected以及private,今天主要讲解的是多态,多态是基类函数必有virtual。且是父类的指针指向子类的对象,例如:

#include <iostream>

#include <string>

using namespace std;

//

class A

{

public:

A()

{

cout << "A()" << endl;

}

~A()

{

cout << "~A()" << endl;

}

virtual void fun1()

{

cout << "A::fun1()" << endl;

}

virtual void fun2()

{

cout << "A::fun2()" << endl;

}

int a;

};

class A1:public A

{

public:

A1()

{

cout << "A1()" << endl;

}

~A1()

{

cout << "~A1()" << endl;

}

virtual void fun1()

{

cout << "A1::fun1()" << endl;

}

void fun2()

{

cout << "A1::fun2()" << endl;

}

int a1;

};

void show(A *pb)

{

pb->fun1();

}

int main()

{

A a;

A1 a1;

show(&a1);

/*a1.fun1();*/

/*cout << sizeof(a1) <<endl;*/

getchar();

return 0;

}

show 函数中调用父类的指针将会产生父类的函数,调用子类的指针就将会产生子类的函数,这就是多态。

本文出自 “局部和static变量” 博客,请务必保留此出处http://10810512.blog.51cto.com/10800512/1754279

以上是关于C++中继承与多态的主要内容,如果未能解决你的问题,请参考以下文章

Java中继承与多态及封装(第一篇)

java中继承与实现接口的区别与联系是啥啊?知道的说一下,我这里谢谢了。

class中继承和多态简介

java中继承和多态

Java基本功一文了解Java中继承封装多态的细节

快速学会Java面向对象三大特征