0 / 0 / 1
Регистрация: 12.05.2011
Сообщений: 21
1

Вопрос о наследовании

12.05.2011, 09:57. Показов 743. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Извините за ламерский вопрос, но я в тупике.

Такая проблема. Есть два класса "Systema" и "Sensors".
Как сделать так чтоб в класс Systema копировался класс Sensors.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2011, 09:57
Ответы с готовыми решениями:

Ошибка в одновременном наследовании класса и интерфейса
interface my { void metod(); };...

не до понимание в наследовании
у нас есть допустим 2 класса. Один circle, другой Point. Circle наследует от Point. Тоесть Point...

О виртуальном наследовании
Хотелось бы с Вашей помощью разобраться в деталях виртуального наследования. Вопрос такой: что на...

Ошибка в наследовании
Всем привет. Есть такой код: #include <iostream> using namespace std; class A { public :...

5
152 / 150 / 44
Регистрация: 09.02.2010
Сообщений: 407
12.05.2011, 10:31 2
Rudthaky, наследование классов
Если вы имеете ввиду, что бы в классе systema наследовались поля класса sensors, то код будет следующий:
C++
1
2
3
4
5
6
7
8
9
10
11
12
class Sensors{
   public:
      int sensors_num;
   private:
      int value();
}
 
class Systema : Sensors
{
  //этот класс унаследует public поля и методы класса Systems;
  
}
0
0 / 0 / 1
Регистрация: 12.05.2011
Сообщений: 21
12.05.2011, 10:53  [ТС] 3
нет, такое наследование я пробовал, препод сказал чтоб было явное наследование
C++
1
Systema*linc=new Sestema();
то есть, есть два этих класса, нужно чтобы в класс Sensor копировался класс Systema.
с верху код-он создает новый класс...но как потом обратится к созданному классу и поменять значения??? вот тут и тупик!!!
а код типа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Sensor
{
public:
virtual int GetValue();
private:
int maxValue;
int minValue;
};
class Temperature :public Sensor
{
public:
virtual int GetValue()
{
int maxValue;
int minValue;
int rez=rand()%minValue-maxValue;
return (rez);
}
};
что-то типо этого. А теперь подкласс "Temperature" нужно скопировать в класс Systema.
затем при опросе класса Systema она должна выдавать копии подкласса и возможность вносить данные в подкласс.
??????
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
12.05.2011, 11:15 4
Цитата Сообщение от Rudthaky Посмотреть сообщение
Как сделать так чтоб в класс Systema копировался класс Sensors.
Я ничего не понял.
Есть два способа организации классов: наследование и агрегирование (включение). Ключевой вопрос для выбора того или иного способа таков: является ли класс Systema классом Sensors, т.е. может ли объект класса Systema использоваться во всех случаях, когда требуется объект класса Sensors? Если да, то это прямое указание на необходимость наследования.
Или же класс Systema всего лишь включает в себя класс Sensors как составную часть? Тогда должно использоваться включение.
0
0 / 0 / 1
Регистрация: 12.05.2011
Сообщений: 21
12.05.2011, 11:32  [ТС] 5
Во, ближе подобрались!!!
CheshireCat-спасибо!!! Нужно
класс Systema всего лишь включает в себя класс Sensors как составную часть
пример такого подхода можете привести???
0
0 / 0 / 1
Регистрация: 12.05.2011
Сообщений: 21
12.05.2011, 18:11  [ТС] 6
Люди, хелп плиз!!!! как реализовать
агрегирование классов???

Напишите пример...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2011, 18:11
Помогаю со студенческими работами здесь

Ошибка в наследовании
Появилась проблема в наследовании с использованием виртуальных методов. Если записать код вот так,...

Ромб в множественном наследовании
Добрый день ! Не помню как устранить проблему ромба в множественном наследовании. Вроде нужно...

Ошибка при наследовании
Привет! Ни как не могу разобраться, в чём дело. Создал 2 класса: Base и Derived, где Derived...

Деструктор при наследовании
Имеется 3 класса (базовый -> производный -> производный2) в классе базовый имеется переменная...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru