Важно С++ !

С++ классы C++

Кто может проверьте мой код, если найдете что добавить или исправить напишите, буду очень благодарен.
Задание следующее:

Реализовать систему классов для некоторых геометрических фигур. Для каждой фигуры реализовать методы работы с полями данных идентифицирующих фигуру, и дополнительный метод из варианта. Кроме реализации классов необходимо создать программу демонстрации работы с классами.

Разработать систему классов: круг, треугольник. Для круга реализовать метод получения площади. Для треугольника реализовать метод сдвига.


//-------------------Shape.h-------------------------------------

#include "stdafx.h"


#define pi 3.14

class Shape
{
double x, y;
public:

virtual void draw() = 0;
virtual double area() = 0;
virtual void move(double _x, double _y) {;}

};

class Circle: public Shape
{
double r;
public:
Circle(void):r(0){;}
Circle(double rad):r(rad){;}
virtual void draw();
virtual double area();
};

class Triangle: public Shape
{
double x1, y1, x2, y2, x3, y3;
public:

Triangle();
Triangle(double x1, double y1, double x2, double y2, double x3, double y3):x1(x1), y1(y1), x2(x2), y2(y2), x3(x3), y3(y3){;}
virtual void draw();
virtual void move(double _x, double _y);
virtual double area();
};


//--------------Shape.cpp------------------------

#include "stdafx.h"
#include "Shape.h"
#include <iostream>


void Circle::draw() {
std::cout<<"Area circle = "<<area()<<std::endl;
};

double Circle::area(){
double gArea = pi*(r*r);
return gArea;
};




Triangle::Triangle(){
std::cout<<"Vvedite coordinaty treugolnika!!!";
}

void Triangle::draw() {
std::cout<<"Coordinaty treugolnika"<<std::endl;
std::cout<<"Coord point A("<<x1<<","<<y1<<")"<<std::endl;
std::cout<<"Coord point B("<<x2<<","<<y2<<")"<<std::endl;
std::cout<<"Coord point C("<<x3<<","<<y3<<")"<<std::endl;
};

void Triangle::move(double _x, double _y) {
x1=x1+_x; y1=y1+_y;
x2=x2+_x; y2=y2+_y;
x3=x3+_x; y3=y3+_y;
;}


double Triangle::area() {
std::cout<<"The operation for this figure is not defined!";
return 0;
};

//---------------------------------main.cpp--------------------------------

#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include "Shape.h"




int _tmain(int argc, _TCHAR* argv[])
{

Circle myCircle(2);
myCircle.draw();

std::cout<<"--------------------------------------------"<<std::endl;

Triangle MyTriangle(1,2,3,4,5,6);
MyTriangle.draw();
std::cout<<std::endl;
MyTriangle.move(2,1);
MyTriangle.draw();

getch();
return 0;
}


Примечание:
Народ, кто-нибудь поможет?
Ответы:
обычно такое задание дают что бы люди усвоили динамический полиморфизм - не упоминалось ли это? ибо в примере этого нет


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.