Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1298 / 927 / 449
Регистрация: 21.10.2012
Сообщений: 2,604

Объявить в классе-наследнике указатель, указывающий туда же, куда указывает указатель в классе-родителе

09.10.2018, 13:20. Показов 992. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Имеется базовый класс MainWindow:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "globaltime.h"
class MainWindow
{
 
public:
    MainWindow(GlobalTime *);
    ~MainWindow();
    GlobalTime *globalTime;
    virtual void update();
};
 
#endif // MAINWINDOW_H
C++
1
2
3
4
5
6
7
8
9
10
11
#include "mainwindow.h"
 
MainWindow::MainWindow(GlobalTime *GT)
{
    globalTime = GT;
}
 
MainWindow::~MainWindow()
{
 
}
Хочу создать класс-наследник secondClass так, чтобы в нем также присутствовал указатель на ту же самую переменную GlobalTime, что и в базовом классе и переопределить функцию update. Подскажите, пожалуйста, как это правильно сделать. Ниже вариант реализации secondClass.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#ifndef SECONDCLASS_H
#define SECONDCLASS_H
#include "mainwindow.h"
#include "globaltime.h"
 
class secondClass : public MainWindow
{
public:
    //using MainWindow::MainWindow;
    secondClass(GlobalTime *GT) : MainWindow(GT){}
    void update();
};
 
#endif // SECONDCLASS_H
C++
1
2
3
4
5
6
7
8
9
#include "secondclass.h"
secondClass::secondClass(GlobalTime *GT) : MainWindow(GT)
{
}
 
void secondClass::update()
{
    int a =6;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.10.2018, 13:20
Ответы с готовыми решениями:

Указатель в классе, указывающий на этот же класс
Разбирал чужой код и нашел примерно такую конструкцию: class Sample { public: Sample(); virtual ~Sample(); int Method();...

Указатель куда указывает?
Вопрос в комментарии к программе int main() { int count = 0; char str = "atutau"; char *start, *end; start = str; // левый...

Теряется указатель на переменые в классе
образован двусвязный список. Данные находятся в трех перменныех, посел поступления данных в функцию sAge указатели на перменные типа char...

2
09.10.2018, 13:34
 Комментарий модератора 
АлександрКом, пожалуйста, прочитайте правила форума.
Особое внимание обратите на пункт 4.3 (порядок именования тем).
0
1298 / 927 / 449
Регистрация: 21.10.2012
Сообщений: 2,604
09.10.2018, 18:08  [ТС]
Решил проблему вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef SECONDCLASS_H
#define SECONDCLASS_H
#include "mainwindow.h"
#include "globaltime.h"
 
class secondClass : public MainWindow
{
public:
    secondClass(GlobalTime *GT);
    void update();
};
 
#endif // SECONDCLASS_H
C++
1
2
3
4
5
6
7
8
9
#include "secondclass.h"
secondClass::secondClass(GlobalTime *GT) : MainWindow(GT)
{
}
 
void secondClass::update()
{
    globalTime->spend(globalTime, 12);
}
И в mainwindow.cpp добавил пустую реализацию MainWindow::update()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.10.2018, 18:08
Помогаю со студенческими работами здесь

Указатель на потомка в базовом классе.
Мне нужно создать в базовом классе массив указателей на потомки этого класса. Помогите - как это сделать?

Матрица в классе, указатель на матрицу.
Здравствуйте. Помогите, пожалуйста, с матрицей в классе. Вот то, что накалякал я. Matrix.h: class Matrix{ private: int n,m; ...

Указатель на функцию-член одного класса в другом классе - C++
Добрый вечер! Может кто-то может помочь с проблемой. class Cook { public: void _cook_dish(Dish cook_dish_id) { ... ...

Можно ли как-то в дочернем классе получить указатель родителя?
У меня тут появилась мыслишка :D В любом классе есть так сказать скрытый указатель на самого себя - this, а можно ли как то получить в...

Как в main() создать указатель на функцию, которая находится в классе?
В этом примере как определить указатель на функцию F()? class A { public: bool F(int &a, int &b) { return a<b; } ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru