C++ 在C+中使用虚函数+;

C++ 在C+中使用虚函数+;,c++,function,virtual,C++,Function,Virtual,我在C语言中使用虚函数时遇到了一个小问题++ 我有一个B类,它扩展了a类 Class A{ virtual function 1 // does nothing virtual function 2 // does nothing } class B : public class A { function 1 { does some thing } function 2 { does some thing } } 我还有一个班 class implement { B

我在C语言中使用虚函数时遇到了一个小问题++

我有一个B类,它扩展了a类

Class A{
  virtual function 1 // does nothing 
  virtual function 2 // does nothing
}

class B : public class A {
  function 1 { does some thing }
  function 2 { does some thing }
}
我还有一个班

class implement {

  B b;
  A *a = &B;
  a.function 1();
  a.function 2();
}
编译此代码时,在使用GCC编译器编译时会出现以下错误

未定义对函数1和函数2的引用

请帮我解决这个问题
在C++中,事先感谢

< P>,只允许纯虚拟函数不存在函数定义。 在代码中没有任何纯虚拟函数。纯虚拟函数是在声明中具有
=0
的函数。
例如:

virtual void doSomething()=0;
基类
A
中的
virtual
成员函数(
function1()
function2()
)必须具有定义,因为它们不是纯虚拟的。您没有提供它们的定义,因此链接器会适当地抱怨缺少定义

undefined reference to function 1 and function 2

在C++中,只有纯虚拟函数才允许在没有函数定义的情况下存在。 在代码中没有任何纯虚拟函数。纯虚拟函数是在声明中具有
=0
的函数。
例如:

virtual void doSomething()=0;
基类
A
中的
virtual
成员函数(
function1()
function2()
)必须具有定义,因为它们不是纯虚拟的。您没有提供它们的定义,因此链接器会适当地抱怨缺少定义

undefined reference to function 1 and function 2

请输入真实代码,这个例子有大约243处错误。这个错误似乎与
虚拟
函数没有任何关系。给我们看一些可编译的示例代码。请看真实代码,这个示例有大约243处错误。错误似乎与
虚拟
函数没有任何关系。向我们展示一些可编译的示例代码。