c++虚函数,普通函数区别

原创 2006年05月24日 09:55:00
1.那么,什么是虚函数呢,我们先来看看微软的解释:

        虚函数是指一个类中你希望重载的成员函数,当你用一个基类指针或引用指向一个继承类对象的时候,你调用一个虚函数,实际调用的是继承类的版本。

虚函数最关键的特点是“动态联编”,它可以在运行时判断指针指向的对象,并自动调用相应的函数。

2.有些讲C++的书上提到,这种“动态联编”的机制是通过一个“vtable”实现的,vtable是什么?微软在关于COM的文档里这样描述:

        vtable是指一张函数指针表,如同C++中类的实现一样,vtable中的指针指向一个对象支持的接口成员函数。

C++ 同名隐藏、覆盖,虚函数 的详解和对比

不同作用域声明的标识符的可见性原则:     如果存在两个或多个具有包含关系的作用域,外层声明了一个标识符,而内层没有再次声明同名标识符,那么外层标识符在内层依然可见,如果在内层声明了同名标识符,则...
  • qq_31175231
  • qq_31175231
  • 2015年12月24日 14:23
  • 592

运行时多态性:JAVA的重写和C++中的虚函数

在继承层次结构中,父类和子类可能会定义同样的成员函数(方法)来实现同一种操作,但是由于父类比子类更抽象,所以两者的具体实现会不一样,运行时多态性能确保调用的是想要的那个方法。 这在JAVA中是通过“重...
  • X_And_Y
  • X_And_Y
  • 2016年12月21日 14:18
  • 394

C++中函数覆盖和使用虚函数有什么区别

举个例子 class fruit { public:     void func()     {         printf("fruit\n");     }     virtual void v...
  • fron_csl
  • fron_csl
  • 2016年03月09日 09:41
  • 1096

C++ 虚函数 重载 重写的区别(转)

版权声明:本文转自http://blog.csdn.net/hackbuteer1/article/details/7475622  C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语...
  • Primeprime
  • Primeprime
  • 2016年03月04日 00:29
  • 4055

【c++基础】虚函数的使用以及和成员函数的区别

前言一直以来都知道虚函数的经典用法,但是除了本科时刚学c++的时候了解过,后来因为做不同的项目在不同的语言之间跳转(自觉都是浅尝辄止),这些基本的东西都忘记了,现在重拾并记录,权当巩固基础了。经典用法...
  • XiaoHeiBlack
  • XiaoHeiBlack
  • 2016年11月01日 14:11
  • 918

什么是虚函数,虚函数和普通函数有何不同,带有虚函数的类什么时候都可以实例化吗?

代码或者内容有任何问题,请留言相告,不胜感激!!!!! 什么是虚指针? 虚指针又叫虚函数指针是一个虚函数的实现细节,带有虚函数的类中每一个对象都有一个虚指针指向该类的虚函数表 虚函数的入口地...
  • libaoshan55
  • libaoshan55
  • 2017年10月05日 23:00
  • 206

C++普通函数,普通成员函数、静态成员函数的区别

1普通函数:属于全局函数,不受具体类和对象的限制,可以直接调用。 例如: void printf() { printf("Hello World"); } 2普通成员函数:C++ 普通成...
  • shikelang_pp
  • shikelang_pp
  • 2017年05月13日 22:24
  • 1058

普通函数,虚函数,纯虚函数

虚函数和非虚函数class base{ public: int bar(char x){ return (int)x;} int bar(int x){return 2*x;} } class c...
  • jinzhichaoshuiping
  • jinzhichaoshuiping
  • 2016年04月23日 17:58
  • 227

虚函数的入口地址和普通函数有什么不同

每个虚函数都在vtable中占了一个表项,保存真一条跳到它的入口地址的指令(实际上就是保存了它的入口地址)。 当一个包含虚函数的对象(注意,不是对象的指针)被创建的时候,它在头部附加了一个指针,指向...
  • zyvscc
  • zyvscc
  • 2012年05月26日 13:58
  • 1612

C++虚函数的陷阱--派生类对象的基类函数调用基类虚函数出错

最近写程序的时候发现,派生类对象的基类函数如果调用基类虚函数,则它将调用的是派生类的对应函数,而不是我想调用的基类的对应函数。 下面用一个例子来说明: //基类 class Base { public...
  • szlcw1
  • szlcw1
  • 2015年04月17日 10:40
  • 1476
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++虚函数,普通函数区别
举报原因:
原因补充:

(最多只允许输入30个字)