c++中virtual是是啥意思

如题所述

举个例子就明白了:
class A
{
virual fun()
{cout<<"a"<<endl;}
}
class B : public A
{
virual fun() //在子类中改写
{cout<<"B"<<endl;}
}
class C: public A
{
virual fun() //在子类中改写
{cout<<"C"<<endl;}
}

int main()
{
A * p ;
B mb;
C mc;
p=&mb;
p->fun();//输出B
p=&mc;
p->fun();//输出C
return 0;
}

同样是 p->fun();但结果不一样。
好吧,写着写着,感觉写多了。
通俗的说,就是基类做出来,让子类继承,并且可以在子类改写。
你可能会问,为何不直接在子类中写一个函数不是更快。
上面的例子就是一个很好的说明(临时写的,写的不怎么样),只用了一个指针就把两个函数都调用了。
再举个例子,就比如从 员工类 Y 中派生了 经理类 J,服务员类 F,保安类 B。这时候我用一个for循环就能把每个职位的某个信息比如工资输出来。而不用一个一个类的专门设计输出。

好吧,我承认还是没讲清楚。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-04
virtual出现在程序中:
virtual 如果出现在函数名前表示虚函数,出现在类的继承关系中加在基类名前表示虚基类。
第2个回答  2012-07-04
虚拟的意思 C++标准情况是不存在virtual一词的,就是C++ virtual是windows下的C++开发环境 例如MFC STL这些都属于virtual C++本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网