Tengo una configuración de clase y de esa clase estoy usando la herencia.C++ símbolo externo no resuelto
En archivo ah
class a
{
public:
virtual void print();
};
En bh archivo:
#include "a.h"
#include <iostream>
class b: public a
{
public:
void print();
};
Y en b.cpp
#include "a.h"
#include "b.h"
void b::print(){};
En el archivo principal Estoy incluyendo ambos archivos:
#include "a.h"
#include "b.h"
Sin embargo, aparece un símbolo no resuelto para la impresión de la función virtual. El archivo a.obj aparece como el archivo que genera el error ¿Qué estoy haciendo mal? Si muevo b.cpp hacia b.h debajo de la definición de clase, funciona bien.
Mi conjetura esto es que a pesar de que el PO en realidad no proporciona suficiente información para estar seguro. –
¿Qué significa virtual puro? –
Ah, lo tengo. Tuve que agregar = 0 al final de las declaraciones virtuales. http://en.wikipedia.org/wiki/Virtual_function#C.2B.2B_2 para futuros espectadores. Gracias. –