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

Тонкость с указателями - взятие указателя на базовый класс - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ map<string, string>define_map http://www.cyberforum.ru/cpp-beginners/thread730677.html
нужно имитировать работу препроцессора #define у нас есть файл из которого считали программу на С++. list<string> word_list; list<string>::iterator i; string str; //заполняю word_list while(1){ getline(in,str); word_list.push_back(str);
C++ не работает функция-счётчик Функция должна возвращать целое значение, уменьшающееся на 1 при каждом вызове. Начальное значение равно 10 #include "stdafx.h" int main() { static int a=10; a--; printf("%d \n",a); return a; } http://www.cyberforum.ru/cpp-beginners/thread730676.html
Минимальное дерево-остов C++
Ребят, помогите пожалуйста решить задачу в BC++ )) На плоскости своими координатами заданно n точек. Построить связный граф с вершинами во всех этих точках так, чтобы суммарная длина его ребер была наименьшей.
C++ как переделать программу?
компилятор выдает много ошибок, как исправить ума не приложу. может быть что то нужно переделать? подскажите #include <stdlib.h> #include <conio.h> #include <math.h> void main() { double s, n, m, b, a, c, x, y, nm; cout <<"Vvedi a "; cin >> a;
C++ буквенная матрица в С++ http://www.cyberforum.ru/cpp-beginners/thread730634.html
помогите пожалуйста не могу сделать нужно создать буквенную матрицу при нажатии любой клавиши где i=j выводит букву О,i>j выводит-N,i<j выводит -Z, и при нажатии другой значения инвертируются : i>j выводит Z,i<j выводит -N. сделала но почему то не выводит букву О, и так же надо перевести формат cpp в exe? листинг: # include <iostream.h> # include <windows.h> # include <conio.h> #...
C++ Двумерный массив с указателем (Преобразовать матрицу по правилу) Здравствуйте. Помогите пожалуйста. Задание: Дана действительная квадратная матрица порядка n. Преобразовать матрицу по правилу: строку с номером n сделать столбцом с номером n, а столбец с номером n сделать строкой с номером n. подробнее

Показать сообщение отдельно
yekka
384 / 148 / 8
Регистрация: 12.05.2011
Сообщений: 450
14.12.2012, 19:58     Тонкость с указателями - взятие указателя на базовый класс
очевидно, что при множественном наследовании два объекта-предка не могут иметь один и тот же адрес, поэтому для преобразования указателя на дочерний объект к указателю на второй родительский объект (и обратно) к указателю необходимо будет добавить некоторое смещение.

Вообще, сишное приведение типов сначала пытается применить static_cast, а если не получается, то использует reinterpret_cast. В твоем случае, очевидно, достаточно static_cast'а, поэтому преобразование будет "умным" (т.е. с добавлением нужного смещения при необходимости). А если явно запросить reinterpret_cast, то смещение добавлено не будет и в общем случае получим нерабочий указатель.
 
Текущее время: 14:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru