Shape.h
#ifndef SHAPE_H
#define SHAPE_H
#include<iostream>
#include<string>
class Shape
{
public:
virtual int getArea() = 0;
virtual std::string getType() = 0;
virtual ~Shape();
};
#endif
#ifndef CIRCLE_H
#define CIRCLE_H
Circle.h
#include<iostream>
#include<string>
#include"Shape.h"
class Circle : public Shape
{
public:
Circle() { std::cout << "Circle created!" << std::endl; }
virtual int getArea() { return 100; }
virtual std::string getType() { return "Circle"; }
~Circle(){ std::cout << "Circle distroyed!" << std::endl; }
};
#endif
#ifndef SQUARE_H
#define SQUARE_H
Square.h
#include<iostream>
#include<string>
#include"Shape.h"
class Square : public Shape
{
public:
Square(){ std::cout << "Square created!" << std::endl; }
virtual int getArea() { return 150; }
virtual std::string getType() { return "Square"; }
virtual ~Square(){ std::cout << "Shape distroyed!" << std::endl; }
};
#endif
Main.cpp
#include<iostream>
#include"Shape.h"
#include"Cirle.h"
#include"Square.h"
void printShape(Shape *shape)
{
std::cout << shape->getType() << " " << shape->getArea() << std::endl;
}
void main()
{
Circle *c = new Circle();
Square *s = new Square();
printShape(c);
printShape(s);
delete c;
delete s;
getchar();
}
При компиляции VB2010 выводит ошибки:
Error 1 error LNK2019: unresolved external symbol "public: virtual __thiscall Shape::~Shape(void)" (??1Shape@@UAE@XZ) referenced in function __unwindfunclet$??0Circle@@QAE@XZ$0
Error 2 error LNK1120: 1 unresolved externals
Помогите разобраться!!
Спасибо!!!
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.