|
1
27
你的问题是你应该在你的函数中接受一个引用。原因是引用实际上没有复制传递的参数。但如果您接受
然后您必须将类中的成员更改为指针。不能作为参考,因为
还要注意的是,你必须编译C++程序。
|
|
2
5
您所做的工作将在Java中执行,因为声明一个“A”类型的参数或成员变量实际上意味着“指向A”的指针。在C++中,你需要明确地指出这一点,因为它们是两个不同的东西:
在声明中:
|
|
|
3
3
你现在的问题是联系。 对于C++程序,需要添加标准C++库: GCC - O试验 -LSTDC++ 测试程序 |
|
|
4
3
我相信这就是你想做的。它根据handle类是否指向b或c的实例,通过实际打印出一些内容来演示多态性。其他人认为您可能还需要一个虚拟析构函数是正确的。 它与:g++test.cpp-o test编译
|
|
|
5
1
您应该将存储为指针。
编辑:我以前写过“参考文献”。C++有不同之处。 |
|
|
6
1
你不必使用指针 如果您放弃setter并使用构造函数。它是C++中的一个重要特性:构造函数中的基本初始化器通常允许避免使用指针。
|
|
|
7
1
我有这个问题,包括
错误:
正确的:
|
|
|
8
1
Johannes Schaub-Litb是正确的。 在C++中,抽象类不能用作函数的PARAM或返回类型。我们无法实例化抽象对象。 所以需要使用&或*。 |
|
|
9
0
必须将指向的指针用作MyClass的成员。
如果不这样做,MyClass构造函数将尝试实例化一个对象(就像对任何成员对象一样),这是不可能的,因为a是抽象的。 |
|
|
10
0
当你说
您将创建一个类型为A的新对象,但您已经说过,A是一个抽象类,所以您不能这样做。您需要使用一个指针,正如其他人所指出的,或者使一个非抽象的指针。 |
|
|
11
0
dmitry是正确的,如果使用gcc,则应该使用-lstcc++,但更好的方法是使用
|
|
|
Rishab Negi · 这个关键字在抽象类中是如何工作的 1 年前 |
|
|
Reelie · C#11-通过抽象类在接口中静态抽象成员? 1 年前 |
|
Denis Steinman · 如何从内部命名空间为类创建别名?复制 2 年前 |
|
|
vimal raj · javascript中类的执行顺序 2 年前 |
|
|
Max · 如何使用抽象/接口类的向量作为函数参数? 2 年前 |
|
|
timurichk · 我的类不重写抽象方法compareTo 8 年前 |