13得票4回答
在基类中定义“纯”虚函数有意义吗?

在基类中定义公共的虚函数的好处在于,我们不必在派生类中重新定义它们。 即使我们在基类本身中定义了纯虚函数,我们仍然需要在派生类中定义它们。#include <iostream> using namespace std; class speciesFamily { pub...

13得票4回答
GCC的函数__attribute__是否适用于虚函数?

GNU C++编译器通过函数属性提供了一系列扩展,例如:int square(int) __attribute__((const)); 两个特殊的属性,const和pure,允许您声明一个函数的求值没有副作用且仅取决于它的参数 (const)或仅取决于其参数和全局变量 (pure)。这允许常见...

13得票2回答
有没有办法让Eclipse自动实现纯虚函数?

我声明了一些带有纯虚函数的类,并使一些类继承它。在 Eclipse CDT 中是否有办法定位父类的纯虚函数并自动完成子类的声明,就像在java开发中一样?反复复制和粘贴这些函数已经变得很繁琐。

12得票3回答
移动语义和虚拟方法

在C++11中,我们在某些情况下被引导通过值传递对象,在其他情况下则使用const-reference。然而,这个指南取决于方法的实现,而不仅仅是它的接口和客户端的预期使用。 当我编写一个接口时,我不知道它将如何被实现。有没有一个好的经验法则来编写方法签名?例如,在以下代码片段中,我应该使用...

12得票3回答
纯虚拟运算符

我有一个关于C++的学校项目,目前遇到了一个问题:我需要重载+和*运算符来处理几何图形。这个并不是问题,但是现在出现了一个问题:我需要将这些运算符声明为纯虚方法,在一个抽象类中,所有其他类都从该抽象类派生。 #include<iostream> using namespace s...

12得票1回答
在UML类图中,如何表示一个纯虚函数?

我是一名学习C++的学生。我正在为我的程序创建一个涉及继承和抽象/具体类的UML类图,但我不太确定如何表示纯虚函数。非常感谢任何帮助!

11得票2回答
为什么这不是一个纯虚函数的调用?

我试图“修复”这个答案中的示例,以演示如何调用纯虚函数。#include <iostream> using namespace std; class A { int id; public: A(int i): id(i) {} int callFoo() ...

11得票1回答
当在可变上下文中使用抽象类时,如何实现抽象方法

如何在以下代码中实现一个抽象基类来处理通用情况。该代码是我正在开发的库的简化版。因此,对于int和double的明确实现不是一个选择。 template <typename T> struct Foo { virtual void send(T t) = 0; }; tem...

11得票2回答
在虚函数中创建纯虚函数是否存在风险?

假设我们有一个抽象类 NonEditableSuperBase,从中我们创建另一个抽象类 MyBase。 第一个类 NonEditableSuperBase 有一个虚函数(非纯虚函数)。然而,我想要强制如果有人创建了一个从 MyBase 派生的类,他/她必须提供所提到的函数的实现。 因此,...

10得票6回答
为什么在C++中描述抽象方法需要使用'virtual'和'=0'关键字?

正如在C ++编程语言中所解释的那样: virtual void push(char c) = 0; virtual void pop() = 0; 单词virtual的意思是“可以在从这个类派生的类中重新定义” =0语法表示必须由Stack的某个派生类定义该函数。 那么为什么需要=0...