您的位置:首页 > 编程语言 > C语言/C++

C++中的虚函数和多态的关系

2005-06-28 11:26 633 查看
我的小例子:
#include
using namespace std;

class A{
private:
int numA;
public:
A();
virtual void prt(); //看到virtual function就要想到要使用多态机制了!
};

A::A(){
cout << "Construct in A" << endl;
}

void A::prt(){ //virtual function在定义体的外部实现的时候,不要加virtual关键字
cout << "prt in A" << endl;
}

class B : public A{
private:
int numB;
public:
B();
void prt();
};

B::B() : A(){
cout << "Construct in B" << endl;
}
void B::prt(){
cout << "prt in B" << endl;
}

int main()
{
A *arryA = new A();
A *arryB = new B();
arryA->prt();
arryB->prt(); //使用多态机制
arryB->A::prt(); //不使用多态机制
delete arryA;
delete arryB;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ delete function class