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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sillent Div
0 / 0 / 1
Регистрация: 13.07.2013
Сообщений: 60
#1

Указатель на класс как поле класса - C++

02.06.2014, 19:57. Просмотров 538. Ответов 11
Метки нет (Все метки)

Как работать с указателем в классе
C++
1
2
3
4
5
class A
{};
class B
{private:
A * uk}; // как с ним работать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2014, 19:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Указатель на класс как поле класса (C++):

Класс как поле класса - C++
Нужно поместить класс внутри класса. Примерно так #include <iostream.h> #include <conio.h> // program.hpp class TPoint { ...

Дано описание следующего класса class TPoint ... Как описывается указатель на данный класс - C++
Дано описание следующего класса class TPoint ... Как описывается указатель на данный класс

Указатель на поле класса - C++
Доброго дня суток. Есть класс DataOfGroup, список экземпляров этого класса lst, begin() - итератор, установленный на начало списка lst,...

Указатель на метод и на поле класса - C++
Суть такова, нужно создать класс студент, определить метод доступа к скрытым полям уровень знаний и курс. Создать открытое поле стипедия....

Создать класс. Символьное поле должно быть задано как объект класса string - C++
решите задачку!) 6. Создать класс. Символьное поле должно быть задано как объект класса string. Написать конструктор по умолчанию,...

Не создается указатель на класс внутри класса - C++
Всем привет! У меня возникла очень интересная ситуация... У меня есть набор классов. Часть классов являются членами других классов. ...

11
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.06.2014, 20:13 #2
Цитата Сообщение от Sillent Div Посмотреть сообщение
как с ним работать?
Как с обычным указателем.
0
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
02.06.2014, 20:20 #3
C++
1
2
3
4
5
6
7
8
9
10
void B::initA()
{
    uk = new A();
}
 
B::~B()
{
    delete uk;
    uk = NULL;
}
0
Sillent Div
0 / 0 / 1
Регистрация: 13.07.2013
Сообщений: 60
02.06.2014, 20:39  [ТС] #4
а это как понять
B::initA()?
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.06.2014, 21:17 #5
Цитата Сообщение от Sillent Div Посмотреть сообщение
а это как понять
B::initA()?
Метод класса B, под названием initA.
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
02.06.2014, 22:06 #6
xtorne21st, немного странно после delete обнулять поле класса в деструкторе. Объект же удаляется, нет объекта - нет и поля. Если, конечно, в коде деструктора нет еще какой-то проверки этого поля. Но если она есть, то это уже плохой дизайн.
0
Sillent Div
0 / 0 / 1
Регистрация: 13.07.2013
Сообщений: 60
04.06.2014, 21:39  [ТС] #7
C++
1
2
3
4
5
6
7
8
class A
{
public:
int b; // как добраться до переменной через указатель?
};
class B
{private:
A * uk}; // вот через этот указатель?
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.06.2014, 21:48 #8
C++
1
ObjB.uk->b;//вызывать из функции-члена B или дружественной функции/класса
0
Sillent Div
0 / 0 / 1
Регистрация: 13.07.2013
Сообщений: 60
04.06.2014, 23:34  [ТС] #9
а -> не нужно перегружать?
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
05.06.2014, 08:18 #10
Sillent Div, зачем?
0
Sillent Div
0 / 0 / 1
Регистрация: 13.07.2013
Сообщений: 60
05.06.2014, 12:50  [ТС] #11
вспомнил, перегрузка стрелки делалась бы если бы класс выступал в роли интерактивного указателя
0
xtorne21st
08.06.2014, 17:04     Указатель на класс как поле класса
  #12

Не по теме:

...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2014, 17:04
Привет! Вот еще темы с ответами:

Функция указатель на класс, определенный внутри шаблонного класса - C++
Доброго времени суток! Помогите пожалуйста разобрать со следующим кодом: template <class T> class List{ class Node{ public: ...

Вызов метода производного класса через указатель на базовый класс - C++
Всем привет ! Подскажите почему , при выполнении строки 45 я получаю ошибку ? А именно при выполнении выражения c->fnz() ...

Благодаря опережающему объявлению класса можно создать только УКАЗАТЕЛЬ на этот класс; так ли это? - C++
class B; class A{ A(); ~A(); B* b; //А вот так не компилится //B b_0; };

Как преобразовать указатель на класс к указателю на асбтрактный класс? - C++
Но тут есть одна тонкость- два промежуточных класса. Вот код, надеюсь всё из него понятно. #include <stdio.h> ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.06.2014, 17:04
Ответ Создать тему
Опции темы

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