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

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

Восстановить пароль Регистрация
 
Rudthaky
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
12.05.2011, 09:57     Вопрос о наследовании #1
Извините за ламерский вопрос, но я в тупике.

Такая проблема. Есть два класса "Systema" и "Sensors".
Как сделать так чтоб в класс Systema копировался класс Sensors.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2011, 09:57     Вопрос о наследовании
Посмотрите здесь:

C++ Ошибка при наследовании
C++ Ошибка при наследовании
C++ Ошибка при наследовании
О виртуальном наследовании C++
Ошибка в наследовании C++
Конструкторы при наследовании C++
не до понимание в наследовании C++
С++ течет при наследовании C++
C++ Ошибка в наследовании
Деструктор при наследовании C++
C++ Присвоение при наследовании
Ошибка при наследовании C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dampir_sanek
149 / 147 / 21
Регистрация: 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;
  
}
Rudthaky
0 / 0 / 0
Регистрация: 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 она должна выдавать копии подкласса и возможность вносить данные в подкласс.
??????
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,315
12.05.2011, 11:15     Вопрос о наследовании #4
Цитата Сообщение от Rudthaky Посмотреть сообщение
Как сделать так чтоб в класс Systema копировался класс Sensors.
Я ничего не понял.
Есть два способа организации классов: наследование и агрегирование (включение). Ключевой вопрос для выбора того или иного способа таков: является ли класс Systema классом Sensors, т.е. может ли объект класса Systema использоваться во всех случаях, когда требуется объект класса Sensors? Если да, то это прямое указание на необходимость наследования.
Или же класс Systema всего лишь включает в себя класс Sensors как составную часть? Тогда должно использоваться включение.
Rudthaky
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
12.05.2011, 11:32  [ТС]     Вопрос о наследовании #5
Во, ближе подобрались!!!
CheshireCat-спасибо!!! Нужно
класс Systema всего лишь включает в себя класс Sensors как составную часть
пример такого подхода можете привести???
Rudthaky
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
12.05.2011, 18:11  [ТС]     Вопрос о наследовании #6
Люди, хелп плиз!!!! как реализовать
агрегирование классов???

Напишите пример...
Yandex
Объявления
12.05.2011, 18:11     Вопрос о наследовании
Ответ Создать тему
Опции темы

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