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

Можно ли как-то в дочернем классе получить указатель родителя? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перенос программы в Windows Forms http://www.cyberforum.ru/cpp-beginners/thread1143620.html
Срочно нужно перенести код консольного приложения в с++ Буду очень признателен. Минимальный интерфейс. 1 текстовое поле для результата. 1 выдвижное меню для выбора тональности. #include <iostream> #include <locale> #include <conio.h> using namespace std; int main() {
C++ Дана последовательность Последовательность x1, x2, ... образована по закону (См. картинку) (i=1,2, ...). Дано действительное число e>0. Записать в файл h члены последовательности x1, x2, ..., остановившись после первого члена для которого выполнено |xi|<e http://www.cyberforum.ru/cpp-beginners/thread1143618.html
Вычисление высоты дерева C++
Всем привет! Дерево создано на основе стека, но вот в чем беда компилируется с ошибкой error C4703: используется потенциально неинициализированная локальная переменная-указатель "p" Не пойму как исправить не переписывая полностью программу) #include "stdafx.h" #include "stdio.h" #include <locale.h> #include <iostream> using namespace std;
C++ Несколько исходников в проекте
Возможно ли создание проекта с несколькими исходными файлами и одним, так сказать "головным"? То есть я не хочу всё писать в один файл, а хочу разбросать код по каждому файлу, для упрощения. Если можно, то как потом подключать вспомогательные .cpp файлы в главный файл?
C++ Как привязать цветовые координаты (rgb и hsl) к картинке http://www.cyberforum.ru/cpp-beginners/thread1143608.html
Подскажите пожалуйста!!! Как привязать цветовые координаты (rgb и hsl) к картинке в c++.
C++ Переведите с Pascal на C++ Пожалуйста, переведите на C++ var a:array of longint; n,m,i,j,i1,j1,max:Longint; begin read(n,m); for i:=0 to n-1 do for j:=0 to m-1 do read(a); max:=a; i1:=0; подробнее

Показать сообщение отдельно
DrOffset
6424 / 3798 / 879
Регистрация: 30.01.2014
Сообщений: 6,591
09.04.2014, 18:23     Можно ли как-то в дочернем классе получить указатель родителя?
Цитата Сообщение от newbie666 Посмотреть сообщение
нет, мне нужно наследование классов
Ты заблуждаешься. Классы здесь не помогут, т.к. это другая плоскость совсем, классы - это описание типа. Отношение родства между ними - родство типов. А то, что ты хочешь - это родство объектов.
Похоже без примера совсем никуда?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <vector>
#include <iostream>
 
class Base
{
public:
    Base(){};
    ~Base(){};
 
    void add(Base * child)
    {
        childs_.push_back(child);
        child->parent_ = this;
    }
    Base * parent()
    {
        return parent_;
    }
    Base * child(int idx)
    {
        return childs_[idx];
    }
 
    int baseData;
 
protected:
    std::vector<Base*> childs_;
    Base *             parent_;
};
 
class Child1 : public Base
{
public:
    Child1(Base * parent) {  parent->add(this); };
    Child1() { };
    ~Child1(){};
};
 
class Child2 : public Base
{
public:
    Child2(){};
    Child2(Base * parent) {  parent->add(this); };
    ~Child2(){};
};
 
int main(int argc, char * argv[])
{
    Child1 * ch1 = new Child1;
    ch1->baseData = 33;
 
    Child2 * ch2 = new Child2(ch1);
 
    ch1->child(0)->baseData = 66;
 
    if(ch2->baseData != 66)
        std::cout << "БЕДА...:-)";
    return 0;
}
 
Текущее время: 12:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru