Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
4 / 4 / 0
Регистрация: 06.01.2012
Сообщений: 117

Как управлять наследниками через базовый класс

10.12.2012, 15:46. Показов 1042. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет)Есть вот одна проблема. Хочу управлять объекты через другие объекты.
Допустим есть базовый класс

C++
1
2
3
4
5
6
7
8
9
10
11
class base
{
protected:
int count;
public:
   base(){count = 0;};
   base(base* _b){ count = _b ->getC();};
   void setC(int _c){count = _c;};
   int getC(){return count;};
   
};
Есть наследник
C++
1
2
3
4
5
6
7
class nas : public base
{
public:
   nas():base(){};
   nas(base *_b): base(_b);
 
};
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
base * b = new base();
b ->setC(999);
nas *c1 = new nas(b);
nas *c2 = new nas(b);
nas *c3 = new nas(b);
b ->setC(-555);//вот здесь вопрос? возможно ли как-нить сделать так, чтобы в указателях c1,c2,c3 тоже изменилось значение count на 555. Т.е. если меняется указатель b, то все изменения автоматически происходят и в c1, c2,c3/
 
return 0;
}
Повторюсь возможно ли как-нить сделать так, чтобы в указателях c1,c2,c3 тоже изменилось значение count на 555. Т.е. если меняется указатель b, то все изменения автоматически происходят и в c1, c2,c3/
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.12.2012, 15:46
Ответы с готовыми решениями:

Создать базовый класс Треугольник с 2 наследниками: Равносторонний треугольник, Прямоугольный треугольник
Задание звучит так: Нужно создать базовый класс Треугольник с двумя наследующими его классами - равносторонний треугольник (·...

Класс: как обратиться к методу производного класса через итератор на базовый класс?
Есть абстрактный и два порожденных. Хочу создать например list<Base*> list1; затем добавляю себе в список: ...

Как через базовый класс вызывать виртуальную функцию во всех потомках?
Ну например, есть класс: class BATYANA { BATYANA(); virtual ~BATYANA(); virtual int Test(); }

3
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
10.12.2012, 15:51
1) Зачем? Ты понимаешь различия между классом и экземпляром объекта?
2) Сделай этот метод и поле count статическими
C++
1
2
3
4
5
6
7
8
9
10
11
class base
{
protected:
static int count;
public:
   base(){count = 0;};
   base(base* _b){};
   void setC(int _c){count = _c;};
   int getC(){return count;};  
};
int base::count=0;
1
4 / 4 / 0
Регистрация: 06.01.2012
Сообщений: 117
10.12.2012, 17:12  [ТС]
Да, спасибо я понял)проще будет все это реализовать через указатели !!!
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
10.12.2012, 17:14
Цитата Сообщение от dqrest Посмотреть сообщение
Да, спасибо я понял)проще будет все это реализовать через указатели !!!
А я твой ответ вообще не понял. Что "это реализовать"? И при чём тут указатели?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.12.2012, 17:14
Помогаю со студенческими работами здесь

typeid определяет тип указателя на базовый класс, как тип "базовый класс". Вне зависимости от присвоенного ему значения
Вот код: #include <iostream> #include <string> #include <conio.h> #include <windows.h> #include <typeinfo> using...

класс уравнение с наследниками
Описать класс,представляющий квадратное уравнение вида ax^2*bx+c=0.Описать метод,вычисляющий решение этого уравнения и выбрасывающий...

Управление объектом наследника через базовый класс
Даны два класса. Класс A - базовый класс, B - класс наследник. В классе А 3 поля, в наследнике - еще 2. Указателю на класс A присвоим...

Удаление массива через указатель на базовый класс
Всем привет! У меня тут возникли сомнения можно или нельзя удалять динамически созданный массив объектов производного класса через...

Запись объекта в файл через указатель на базовый класс
Можно ли при помощи write как-нибудь записать массив объектов производных классов в файл, используя для обращения к ним указатель на...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru