Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 4.74
LuBu
4 / 4 / 0
Регистрация: 03.12.2009
Сообщений: 71
#1

Создать класс "точка" и производный класс "отрезок" - C++

08.04.2010, 10:09. Просмотров 5387. Ответов 22
Метки нет (Все метки)

Создать класс "точка" и производный класс "отрезок"
ИСПОЛЬЗОВАТЬ КОНСТРУКТОРЫ И ДИСТРУКТОРЫ
и к отрезку метод получения его длинны....

вообщем запара немного с конструктарами и диструкторами, не уверен что правильно всё написал..
И никак не могу понять какая формула для расчёта длинны...может подскажете ?

Помогите с реализацией класса пожалуйста!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream> 
#include <complex> 
using namespace std; 
 
class tochka
{ 
private: double x1,x2,y1,y2; 
public: 
tochka (double,double,double,double); 
~tochka(); 
double d(); 
}; 
tochka ::tochka (double x1, double x2, double y1,double y2) 
{ 
tochka ::x1=xn; 
tochka ::x2=xk; 
tochka ::y1=yn; 
tochka ::y2=yk;
} 
tochka ::~tochka() 
{
}
 
 
int main() 
{ 
double xn,yn,xk,yk; 
cout<<"xn= \n"; 
cin >>xn; 
cout<<"yn= \n"; 
cin>>yn; 
cout<<"xk= \n"; 
cin>>xk;
cout<<"yk= \n";
cin>>yk;
tochka ob(x1,y1,x2,y2); 
 
system("pause"); 
return 0; 
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2010, 10:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать класс "точка" и производный класс "отрезок" (C++):

Создать класс "Шар", заданный радиусом, и определить производный класс "Окружность" - C++
Создать класс шар, заданный радиусом. Определить производный класс окружности. Предусмотреть виртуальную функцию для вычисления площади...

Создать класс "Квадрат" и производный класс "Правильная пирамида" - C++
Заранее спасибо за помощь)

Для класса "Футболист" создать производный класс "Нападающий" - C++
помогите плиз написать главную функцию и внешний метод и посмотрите ошибки класс ФУТБОЛИСТ с атрибутами: фамилия, название команды,...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
LuBu
4 / 4 / 0
Регистрация: 03.12.2009
Сообщений: 71
14.04.2010, 15:33  [ТС] #16
здрасте ещё раз))
можно ещё 1 вопрос!
вот код программы тольок пользователь сам вводит координаты отрезка, я правильно всё ввёл? у меня такой бред что он пишет что x1 и x0 таких индефикаторов нет!
и ещё какой то треш выдаёт! ну Студия пишет что 6 ошибок 2 это индефикаторы и 4 какой то треш!
может подскажете чтоу меня за фэйл?(


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <cmath>
#include "conio.h"
using namespace std;
 
 
 
class point
{
protected:
        double _x, _y;
public:
        point(double xn, double yn)
                : _x(xn), _y(yn) {}
        double x() {return _x;}
        double y() {return _y;}
};
 
class intercept: public point
{
        double _x1, _y1;
        double _length;
public:
        intercept(double x0, double y0, double x1, double y1)
                : point(x0, y0), _x1(x1), _y1(y1)
        {
                _length=sqrt((_x1-_x)*(_x1-_x)+(_y1-_y)*(_y1-_y));
        }
        double x1() {return _x1;}
        double y1() {return _y1;}
        double length() {return _length;}
};
 
int main()
{
    cout<<"Vvedite xn= \n";
    cin>>x0;
    cout<<"Vvedite yn= \n";
    cin>>y0;
    cout<<"Vvedite xk= \n";
    cin>>x1;
    cout<<"Vvedite yk= \n";
    cin>>y1;
 
 
        intercept i(x0,y0,x1,y1);
        std::cout << i.length() << std::endl;
        system("pause");
    return 0;
}
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
14.04.2010, 15:35 #17
Цитата Сообщение от LuBu Посмотреть сообщение
вот код программы тольок пользователь сам вводит координаты отрезка, я правильно всё ввёл? у меня такой бред что он пишет что x1 и x0 таких индефикаторов нет!
и ещё какой то треш выдаёт! ну Студия пишет что 6 ошибок 2 это индефикаторы и 4 какой то треш!
может подскажете чтоу меня за фэйл?(
Переменные объявлять надо
1
LuBu
4 / 4 / 0
Регистрация: 03.12.2009
Сообщений: 71
14.04.2010, 15:37  [ТС] #18
я совсем уже...)))) спасибО!)_))
0
Evg
Эксперт CАвтор FAQ
17810 / 6016 / 388
Регистрация: 30.03.2009
Сообщений: 16,531
Записей в блоге: 26
14.04.2010, 20:14 #19
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от LuBu Посмотреть сообщение
Создать класс "точка" и производный класс "отрезок"

Не по теме:

Извините, не удержался. Очередной случай, когда бестолковый преподаватель не имеет понятия о том, что такое объектно-ориентированное программирование. "Отрезок" не может быть производным понятием от "точки"

0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
14.04.2010, 21:03 #20
Evg:
Просвистите в чем тут подвох, просто долго я не размысливал на эту тему, может что то не понял.
Наследованию данные для разумного насыщения производного поддаются,
а вот насчет функций мне не всё понятно.
По сути если иметь функцию SetPoint в базовом, в производном она уже не поможет,
потому что с помощью неё не установить вторую точку: прямой.

В целом я разделяю ваше мнение пример не куда негодится, а над нормальным преподавателю
влом подумать: за это бабло не платят.
Я тоже где то не подумав ляпнул точка->отрезок, аж стыдно.
0
Evg
Эксперт CАвтор FAQ
17810 / 6016 / 388
Регистрация: 30.03.2009
Сообщений: 16,531
Записей в блоге: 26
14.04.2010, 21:41 #21
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Просвистите в чем тут подвох, просто долго я не размысливал на эту тему, может что то не понял.
Наследование "класс1" -> "класс2" имеет смысл только тогда, когда класс2 ЯВЛЯЕТСЯ (is a) так же и классом1. Например "фигура" -> "круг", поскольку круг ЯВЛЯЕТСЯ фигурой. В случае точки и отрезка сие не выполняется, ибо отрезок точкой не является. Отрезок СОДЕРЖИТ (has a) точки. Т.е. концептуально правильным было бы не строить производный класс "отрезок", а строить класс "отрезок", в котором содержатся два поля "точка". Но если преподаватель бестолковый, то такое идеологически правильное решение он не воспримет
1
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.04.2010, 21:45 #22
Цитата Сообщение от Evg Посмотреть сообщение
Но если преподаватель бестолковый, то такое идеологически правильное решение он не воспримет
Преподаватель уже заведомо бестолковен, так как дал такое задание. Гнать таких надо, далеко и на долго.
Глядишь в высшем образовании что к лучшему изменится.
1
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
14.04.2010, 22:03 #23
При полиморфной иерархи: (is a) не всегда верно, это я так для разнообразия.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2010, 22:03
Привет! Вот еще темы с ответами:

Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/". - C++
пожалуйста-помогите написатьпрограмму!!! сижу на экзамене!!! вот само задание: создать класс комплексных чисел и ввести операции: &quot;+&quot;,...

Создать иерархию классов: родительский класс "Транспорт", класс-потомок "Техосмотр транспорта" - C++
Помогите пожалуйста написать программу Родительский класс &quot;Транспорт&quot;. Поля класса: тип транспорта, гос.номер, марка, Ф.И.О владельца,...

Создать абстрактный класс "Треугольник" и производный - "Равнобедренный треугольник" - C++
Задание Создать абстрактный класс треугольник. Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода...

Создать класс "Кот" с полями "Возраст" и "Вес" - C++
Нужно сделать универсальный класс.Задание такое : Есть два кота (их может быть хоть 100) они характеризуются возрастом (int) и весом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.04.2010, 22:03
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru