973 / 706 / 330
Регистрация: 21.10.2012
Сообщений: 2,102
1

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

09.10.2018, 13:20. Показов 442. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2018, 13:20
Ответы с готовыми решениями:

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

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

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

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

2
sourcerer
09.10.2018, 13:34
  #2
 Комментарий модератора 
АлександрКом, пожалуйста, прочитайте правила форума.
Особое внимание обратите на пункт 4.3 (порядок именования тем).
0
973 / 706 / 330
Регистрация: 21.10.2012
Сообщений: 2,102
09.10.2018, 18:08  [ТС] 3
Решил проблему вот так:
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2018, 18:08

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.