我创建了一个类'模型'和子类' Cube'。它们的函数声明在各自的.h文件中,定义在它们的.cpp文件中。例如:
Model.h
class Model
{
public:
Model(float width, float height, int color);
Model();
~Model();
float width, height;
int color;
void draw();
};
Model.cpp
#include "stdafx.h"
#include "Model.h"
Model::Model(float w, float h, int c)
{
......
}
Model::Model()
{
......
}
Model::~Model()
{
}
Cube.h
#include "Model.h"
class Cube : public Model
{
public:
Cube(float size, int color);
Cube();
~Cube();
int size;
void draw();
};
Cube.cpp
#include "stdafx.h"
#include "Cube.h"
Cube::Cube(float s, int c)
{
size = s;
color = c;
}
Cube::Cube()
{
size = 1;
color = 1;
}
void Cube::draw()
{
......
}
我在另一个类中声明了一个Cube对象(使用
' #include" Cube.h"')Cube cube_a(2.0,1);
但是我相信对以下函数的调用会导致错误
cube_a.draw();
这是错误:
Error 1 error LNK2019: unresolved external symbol "public: __thiscall Cube::~Cube(void)" (??1Cube@@QAE@XZ) referenced in function "int __cdecl MyFunc(void)" (?MyFunc@@YAHXZ)
非常感谢任何帮助。 :)