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

иерархия классов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Boskos
 Аватар для Boskos
4 / 4 / 0
Регистрация: 03.02.2010
Сообщений: 65
09.02.2010, 14:41     иерархия классов #1
нашол иерархию клиент-авиакомпания

вот она

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include<iostream.h>
#include<string.h>
char newline;
class con{
char name[60];street[60];city[20];state[15];zip[10];
public:
void data_input;
void data_output;
};
void con:: data_input()
{
cout<<"Name:";
cin.get(name,59'\n');
cin.get(newline);
 
cout<<"Street:";
cin.get(street,59'\n');
cin.get(newline);
 
cout<<"Sity:";
cin.get(sity,19'\n');
cin.get(newline);
 
cout<<"State:";
cin.get(state,14'\n');
cin.get(newline);
 
cout<<"Zip:";
cin.get(zip,9'\n');
cin.get(newline);
}
void con:: data_output()
{
cout<<"Name:"<<name<<'\n';
cout<<"Street:"<<street<<'\n';
cout<<"Sity:"<<sity<<'\n';
cout<<"State:"<<state<<'\n';
cout<<"Zip:"<<zip<<'\n';
 
class air: public con{
char type[20];
float miles
public:
void dirline();
void disp();
};
void air:: airline()
{
data_input();
 
cout<<"Type:";
cin.get(type,19'\n');
cin.get(newline);
 
cout<<"Miles:";
cin>>miles;
cin.get(newline);
}
void air:: disp()
{
data_outrut();
 
cout<<"Type:"<<type<<"\n";
cout<<Miles:"<<miles<<"\n";
 
void main()
{
air ob;
ob.airline();
ob.disp();
}

мне нужно сделать такую же иерархию, тока дерево-лес
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2010, 14:41     иерархия классов
Посмотрите здесь:

C++ иерархия классов
C++ иерархия классов
Иерархия классов .... C++
C++ Иерархия классов
иерархия классов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
 Аватар для Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
09.02.2010, 14:50     иерархия классов #2
в чем проблема?
C++
1
2
3
4
5
6
class derevo
{
};
class Les:public derevo
{
};
И добавте аналогичные методы.
Boskos
 Аватар для Boskos
4 / 4 / 0
Регистрация: 03.02.2010
Сообщений: 65
09.02.2010, 16:55  [ТС]     иерархия классов #3
извините я ошибся,
базовый класс-растение
производный класс растение,дерево

Добавлено через 1 минуту
блин)))
базовый класс растение
производный дерево лес

Добавлено через 5 минут
дело в том что этот код не я писал(
и многое там не понимаю,
прошу вас написать если есть возможность с коментами

Добавлено через 24 минуты
что будет методами класса растения и класса дерево ,лес??

Добавлено через 36 минут
что будет наследник передовать базовому классу??

Добавлено через 54 минуты
народ где вы?
insideone
Модератор
Автор FAQ
 Аватар для insideone
3622 / 900 / 47
Регистрация: 10.01.2010
Сообщений: 2,429
09.02.2010, 17:15     иерархия классов #4
В наследниках будет та же функциональность если не переопределить её + те новые методы и члены которые вы добавите в него дополнительно
Boskos
 Аватар для Boskos
4 / 4 / 0
Регистрация: 03.02.2010
Сообщений: 65
09.02.2010, 17:18  [ТС]     иерархия классов #5
insideone,
что будет методами класса растения и класса дерево ,лес??
insideone
Модератор
Автор FAQ
 Аватар для insideone
3622 / 900 / 47
Регистрация: 10.01.2010
Сообщений: 2,429
09.02.2010, 17:24     иерархия классов #6
Как их реализуете так все и будет) Вы хоть напишите какой нибудь код хоть даже ошибочный тогда можно будет сказать что он делает и как работает. Наследование это не простая тема по моему...
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.02.2010, 17:25     иерархия классов #7
Данные допустим Height - высота дерева
to_grow() - расти

C++
1
2
3
4
5
6
7
8
9
10
class Tree{
float Height;
public: 
Tree():Height(0){}
inline long to_grow(){
Height++;
return 0;
}
 
};
insideone
Модератор
Автор FAQ
 Аватар для insideone
3622 / 900 / 47
Регистрация: 10.01.2010
Сообщений: 2,429
09.02.2010, 17:35     иерархия классов #8
C++
1
2
3
4
5
6
7
8
9
10
11
class Plant // не наследует ни у кого == базовый класс
{
   float Height;
   virtual ToGrow() { if ( Height < 100 ) Height++; }; // растет до 100
};
class Tree : public Plant
{
   // Переопределяем как будет расти дерево
   // если этого не сделать будет использована Plant::ToGrow
   ToGrow() { if ( Height < 200 ) Height++; } // растет до 200
};
Может так?
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.02.2010, 17:38     иерархия классов #9
insideone
Да задание интересное но бесполезное.
Разве что на синтаксис поглядеть.
insideone
Модератор
Автор FAQ
 Аватар для insideone
3622 / 900 / 47
Регистрация: 10.01.2010
Сообщений: 2,429
09.02.2010, 17:44     иерархия классов #10
Многие задания бесполезные потому как не привязаны к реальной задачи которую человеку было бы интересно решить) Я пока ни разу не использовал наследование в приложении к чему то и к сожалению его плохо знаю, однако материал читал по этому вопросу...
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.02.2010, 17:53     иерархия классов #11
insideone:
Думаешь я его использовал, задачи ещё взаимосвязные не попадались.

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream.h>
#define interface struct
 
//абстрактный класс растение
interface Plant {
virtual ~Plant(){};
virtual long _stdcall to_grow() = 0;
virtual long _stdcall getting_energy() = 0;     
};
 
void main(){
 
 
 
}
У меня однозначно как у автора темы нету больше идей по поводу что тут можно моделировать.
insideone
Модератор
Автор FAQ
 Аватар для insideone
3622 / 900 / 47
Регистрация: 10.01.2010
Сообщений: 2,429
09.02.2010, 17:54     иерархия классов #12
2 Boskos Я не представляю себе как лес может быть основан на Plant последством наследования. Самое разумное это так
C++
1
2
3
4
5
6
7
8
9
class Wood{
   Plant* Plants;
   Wood(size_t count){
      Plants = new Plant[count];
   }
   ~Wood(){
      delete [] Plants;
   }
}
Однако это другой случай - когда одна сущность имеет в своем составе другую. Уточните своё задание
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2010, 18:27     иерархия классов
Еще ссылки по теме:

Иерархия классов C++
Иерархия классов C++
Иерархия классов С++ C++

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

Или воспользуйтесь поиском по форуму:
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.02.2010, 18:27     иерархия классов #13
insideone:
Дерево основано на Plant,таким образом:
Plant предоставляет интерфейсы для конкретизации в классе дерева.
Дерево не может конкретизировать интерфейсы, от дерева должен быть производный допустим класс Дуб.
А Дуб уже может раскрыть все интерфейсы(реализовать их).
Для этого я и показал класс с чистыми виртуальными функциями.

Просто моделировать Дуб как то не хочется.
Дубовый Лес можно догадаться как определить.
Yandex
Объявления
09.02.2010, 18:27     иерархия классов
Ответ Создать тему
Опции темы

Текущее время: 21:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru