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

Может ли объект-член, или объект-элемент достучаться к содержащему его? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс, каждый экземпляр которого имеет поле UID с гарантированно уникальным значением http://www.cyberforum.ru/cpp-beginners/thread1118817.html
Как бы это поле реализовать? При передаче экземпляра значению любой функции, или оператору и при записи в экземпляр возвращаемого значения функции, или оператора, в том числе, в составе другого объекта, в том числе, объекта-массива значение UID должно копироваться, в остальных случаях требуется генеринг нового уникального значения при каждом создании нового экземпляра. Требется гарантировать,...
C++ Реализовать АТД “Очередь” на основе усовершенствованного циклического массива Прошу помочь с написанием решения для данной задачи: Создайте реализацию АТД “очередь” на основе усовершенствованного циклического массива, который автоматически увеличивает размер вдвое при переполнении, подобно вектору. Все остальные характеристики циклического массива должны быть сохранены. Продемонстрируйте работоспособность решения при помощи тестовой программы. Заранее благодарен. http://www.cyberforum.ru/cpp-beginners/thread1118744.html
C++ Закодировать файл. Взять 7 байт. Первый бит каждого байта переместить в 8 байт
Нужно открыть бинарный файл и закодировать следующим образом. Взять 7 байт. Первый бит каждого байта переместить в 8 байт. То есть, например: 10101010 01010110 00001100 00011000 00011000 00000111 00011100 Нужно превратить в: 0101010
C++ Записать программу, выводящую изображенную фигуру
Пользователь вводит некий символ. Записать программу, выводящую изображенную на рис. 2.10 фигуру, где вместо символа «*» должен быть символ, введенный пользователем. ***** ** * ** *****
C++ UrlDecode, Работа с кириллицей http://www.cyberforum.ru/cpp-beginners/thread1118709.html
Сам пишу на C#. Тут возникла задача "общания с прогой", написанной в С++ 6.0. Проблема возникла с передачей данных с русским текстом (как есть работает, но надо шифровать, поэтому заворачиваю в Base64, который как раз и неработает), при отсылке параметров решил кодировать в urlcode (например...
C++ Координаты вектора умножить на число вот есть класс, мне нужно координаты вектора умножить на число,через функцию используя прототип.Как это сделать ? Функцию в С++ еще не проходили, сказали делать по подобию Си #include "stdafx.h" #include "iostream" using namespace std; class Vektor { public: подробнее

Показать сообщение отдельно
rrrFer
Заблокирован
15.03.2014, 14:55     Может ли объект-член, или объект-элемент достучаться к содержащему его?
Цитата Сообщение от DrOffset Посмотреть сообщение
Имеет оно решение.
Значит ты не понял ТС. Или я не понял его. Или он сам не понял чего хочет.

ТС пишет про это:
Код
class A {
};
class B { 
  int i;
  A m_a;
}
И вот это вот поле, m_a должно как-то изловчиться, найти объект в который оно вложено и заиметь доступ к его полям (например полю i). Т.е. насколько я понял, ТС ищет универсальную штуку, чтобы это работало вне зависимости от того, в какой класс вложено m_a; Ну грубо говоря.
Потому что:
Цитата Сообщение от taras atavin Посмотреть сообщение
Здесь нужны встроенные языковые средства,
Таких в плюсах нет.

Но а кроме этого, ТС хочет чтобы с realloc все это работало. Т.е. у тебя где-то лежит указатель, и этот указатель ничего не знает о том что тарас вызвал realloc. А он вызвал. Указатель стал инвалидным, все пропало.

Решения нет и оно не нужно. Нужно всякой ерундой не заниматься.

Добавлено через 4 минуты
Цитата Сообщение от taras atavin Посмотреть сообщение
Имею. А перемещение может быть неизбежно, например, если надо увеличить размер массива и новый размер не влазит от старого стартового адреса и до занятой (возможно такие же эрреем) памяти.
Да ты че? - если надо увеличить размер массива можно:
- использовать динамические списки;
- использовать обертку над массивом, у которой адрес не меняется. Если какой-то realloc и выполняется - то он выполняется где-то там (в обертке), а все указатели на нее остаются валидными.

Цитата Сообщение от taras atavin Посмотреть сообщение
А вот разрушение старых элементов, создание новых и перенос туда данных добавит проблем с UIDом, так что не имею я права как раз юзать деструкторы с конструкторами для объектов, существование которых продолжается.
Я вот непойму зачем все разрушать? - про указатели не читали?
 
Текущее время: 23:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru