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

Указатель owner - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ C++ Функция вычисления квадратного корня http://www.cyberforum.ru/cpp-beginners/thread447498.html
Помогите решить задачу: Написать функцию приближённого вычисления квадратного корня по формуле xn =xn -1/2+a/2xn -1, x1 =1, x1 --> sqrt(a). Найдите корни всех чисел из выходного текстового файла,...
C++ Задача на массивы Дан массив размером n*n,элементы которого целые числа.Вычислить А^n,где n-натуральное число. http://www.cyberforum.ru/cpp-beginners/thread447481.html
доброго времени суток нужно код перевести из java в c++ но мои знание оканчиваются на яве C++
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Main { public static class PairDouble implements...
С new первые 2 элемента массива заполняются мусором. C++
Написал маленькую программу в которую вводиш текст а потом она тебе снова этот текст выдаёт, но только с использованием динамического массива(с помощю new). Программа вроде работает правильно, но при...
C++ Подсчитайте, какая из гласных букв встречается в тексте наибольшее количество раз http://www.cyberforum.ru/cpp-beginners/thread447472.html
Подсчитайте, какая из гласных букв встречается в тексте наибольшее количество раз. Добавлено через 15 минут #include"stdafx.h" #include <iostream> #include <string> #include <algorithm> ...
C++ Пустой конструктор class Test{ public: Test(){ //... } ~Test(){ //... } private: //... подробнее

Показать сообщение отдельно
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
17.02.2012, 09:54  [ТС]
Цитата Сообщение от NoMasters Посмотреть сообщение
По определению не вызывает конструкторы/деструкторы.
То есть перемещение композита он не выдержит?

Добавлено через 14 минут
Цитата Сообщение от OstapBender Посмотреть сообщение
сделай конструктор B(A* owner) и передавай туда указатель this
А как? Это обычные поля, у них нет static и они не выделяются по указателям.

Добавлено через 6 минут
Цитата Сообщение от NoMasters Посмотреть сообщение
По определению не вызывает конструкторы/деструкторы.
А ты обратил внимание на
Цитата Сообщение от taras atavin Посмотреть сообщение
или
C++
1
A * owner();
? b1 и b2 имеют фиксированные смещения от A::this. Но тогда и owner имеет постоянное для каждого объекта смещение от B::this. Предположим,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class B
{
 int OwnerOffset;
 B (A *owner)
 {
  OwnerOffset=((void *)this)-owner;
 }
 A * owner()
 {
  return (A *)(((void *)this)-OwnerOffset);
 }
 ...
};
Вроде должно выдержать любые перемещения композита.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru