c++中,如果在重定义函数时使用virtual,则该重定义函数仍然是虚函数 这句话为什么错?这里的重定义是指

如题所述

不管啥编程语言, 总是要遵循单一定义原则, 重定义就是编译错误. C++的虚函数应该说是overwrite, 一般说成重写或者覆盖. 新手不要和自己玩文字游戏, 纠结这些没多大意义.
温馨提示:内容为网友见解,仅供参考
无其他回答

为什么c++中virtual要翻译为虚函数?
在C++中,virtual function(虚函数)的翻译源自于其特性——虚拟性,这与英文词汇“virtual”的含义相符。"Virtual"在中文中的解释为“虚拟的”,表示某事物并非真实存在,而是模拟或类似真实的。因此,当我们将virtual function翻译为虚函数时,准确地传达了它作为函数的非直接调用性。虚函数是用于实现多态...

c++观察者模式中observer接口为什么不用定义为虚函数
C++中的虚函数就是用来解决这个问题的。虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。

C++中virtual和非virtual版本对在派生类重写函数时候的有什么区别_百度...
virtual 的函数, 会有多态。也就是,一个基类的指针、引用调用虚函数时,其具体调用的虚函数在运行时确定。非virtual版本 是重载, 重载只是作用域不一样

C++使用虚函数的时候,子类也要使用virtual关键字吗
c++规定,当一个成员函数被声明为虚函数后,其派生类中的同名函数都自动成为虚函数。因此,在子类重新声明该虚函数时,可以加,也可以不加,但习惯上每一层声明函数时都加virtual,使程序更加清晰。 本回答由网友推荐 举报| 答案纠错 | 评论 45 0 pretty星空 采纳率:50% 擅长: C\/C++ 高考 院校信息 数学 其他回答 ...

c++重写为什么必须基类函数必须有virtual关键字
违背了面向对象的设计原则。3. 如果基类函数被声明为虚函数,那么在使用基类指针或引用调用该函数时,实际执行的是派生类函数。这样就能够实现多态性,提高代码的可扩展性和灵活性。同时,基类函数的虚函数声明也为派生类提供了重写的机会,使得派生类能够根据自身的特性来重新定义基类函数的行为。

这个C++程序为什么加VIRTUAL和不加VIRTUAL的运行结果是一样的
动态联编规定,只能通过指向基类的指针或基类对象的引用来调用虚函数,其格式:1、指向基类的指针变量名->虚函数名(实参表)2、基类对象的引用名. 虚函数名(实参表)(以上内容摘自百度百科)主函数如下 Base *p = new Derived; p->fun(); return 0;

C++ 把virtual加在类的函数前到底是什么意思呢?
virtual说明此函数会在继承此类的某一个子类中实现,而在此类中却不实现。。。

C++的虚函数是不是没有方法体的函数?
下面是对C++的虚函数这玩意儿的理解。 一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始) 简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的...

既然c++的非virtual的函数可以重定义,virtual函数相比非vi
探讨C++中函数重定义与虚函数的区别。在C++中,非虚函数与虚函数的重定义有着本质差异。非虚函数的重定义仅在类层次中进行,而虚函数的重定义则能跨类层次实现。让我们通过代码实例来直观理解这一概念。假设我们有如下类层次结构:cpp class Base { public:void fly() { cout << "我飞飞飞" << ...

C++基础-关键字virtual
virtual 说明符指定非静态成员函数为虚函数并支持动态调用派发。它只能在非静态成员函数的首个声明(即当它于类定义中声明时)的 声明说明符序列 中出现。解释:虚函数是可在派生类中覆盖其行为的成员函数。与非虚函数相反,即使没有关于该类实际类型的编译时信息,仍然保留被覆盖的行为。当使用到基类的...

相似回答