• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

深入理解c++中virtual关键字

c++ 搞代码 4年前 (2022-01-06) 23次浏览 已收录 0个评论

本篇文章主要是对c++中virtual关键字进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助

1.virtual关键字主要是什么作用?
c++中的函数调用默认不适用动态绑定。要触发动态绑定,必须满足两个条件:第一,指定为虚函数;第二,通过基类类型的引用或指针调用。
由此可见,virtual主要主要是实现动态绑定。

2.那些情况下可以使用virtual关键字?
virtual可用来定义类函数和应用到虚继承。

友元函数 构造函数 static静态函数 不能用virtual关键字修饰;
普通成员函数 和析构函数 可以用virtual关键字修饰;

3.virtual函数的效果

代码如下:
class GrandFather
{
public:
 GrandFather() {}
 virtual void fun()
 {
  cout << "GrandFather call function!" << endl;
 }
};

class Father : public GrandFather
{
public:
  Father() {}
  void fun()
  {
   cout << "Father call function!" << endl;
  }
};

class Son : public Father
{
public:
 Son() {}
 void fun()
 {
  cout << "Son call function!" << endl;
 }
};

void print(GrandFather* father)
{
 father->fun();
}

int _tmain(int argc, _TCHAR* argv[])
{
 Father * pfather = new Son;
        pfather->fun();
        GrandFather * pgfather =来源gaodai$ma#com搞$$代**码)网 new Father;
        print(pgfather);
 return 0;
}

以上就是深入理解c++中virtual关键字的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:深入理解c++中virtual关键字

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址