Getting error

[Linker error] undefined reference to `vtable for Rectangle'
[Linker error] undefined reference to `Figure::center()'
[Linker error] undefined reference to `Rectangle::draw()'
[Linker error] undefined reference to `Figure::center()'
so on and on
dont know whats going on
please help

#include <iostream>
#include "figure.h"
using namespace std;

class Rectangle : public Figure
{
public:
void erase();
void draw();
};


#include <iostream>
#include "figure.h"
using namespace std;

class Triangle : public Figure
{
public:
void draw();
void erase();
};


#ifndef FIGURE_H
#define FIGURE_H

#include <iostream>
using namespace std;

class Figure
{
public:
virtual void erase();
virtual void draw();
void center();
};

#endif



#include <iostream>
#include "figure.h"
#include "rectangle.h"
#include "triangle.h"

using std::cout;
int main()
{
Triangle tri;
tri.draw();
cout << "\nIn main, Derived class Triangle object calling"
<< " center().\n";
tri.center();
Rectangle rect;
rect.draw();
cout << "\nIn main, Derived class Rectangle object calling"
<< " center().\n";
rect.center();
system("pause");
return 0;
}
I think the problem is you haven't defined any of the methods in your objects. It doesn't know what to do when Triangle::figure's called.
Topic archived. No new replies allowed.