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 函数中调用父类的指针将会产生父类的函数,调用子类的指针就将会产生子类的函数,这就是多态。