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

Доступ к данным потомка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ задание http://www.cyberforum.ru/cpp-beginners/thread998205.html
помогите с ззаданием плюс к карме за помощь) за качество извините, задание до отметки ручкой. язык програмирования Си Пункт 4.12 Правил: Перепечатывайте задание на форум.
C++ Русские символы в массиве char имеется функция возвращающая массив байтов(символов), если данная строка английское слово то все нормально, иначе получается это:С„1Рё2СЃ3РІ4 Как привести русские символы к нормальному... http://www.cyberforum.ru/cpp-beginners/thread998197.html
Битовые операции C++
Здравствуйте! нужно решить задачу: в целом числе заменить младший бит старшего байта на 1 решается ли это битовыми сдвигами? и если да, можно ли получить хотя бы идею, как это делать...
C++ Сформировать массив из матрицы
Всем привет! Помогите составить мне программу: На основе исходного двумерного массива C с рабочим размером n x n, сформировать одномерный массив A. Массив A должен содержать только те числа,...
C++ Дано целочисленное n вычислить http://www.cyberforum.ru/cpp-beginners/thread998163.html
Дано целочисленное n вычислить
C++ Ошибка в программе #include <iostream> #include <math.h> #include <iomanip> #include <conio.h> using namespace std; int main() { const float k=0.2, PI=3.14; const short n=4; float x,c,g; подробнее

Показать сообщение отдельно
ValeryS
Модератор
6707 / 5116 / 482
Регистрация: 14.02.2011
Сообщений: 17,187
05.11.2013, 12:30
Цитата Сообщение от SwanSONG Посмотреть сообщение
CMyPoint.h
деструктор тоже виртуальный нужен
Цитата Сообщение от SwanSONG Посмотреть сообщение
"виртуальные функции слыхал?"
"Слыхал", но ведь написал в начале: почти чайник и попросил на это сделать скидку
объясняю на пальцах
виртуальная функция вызовет нужна для того чтобы вызвать функцию объекта, а не базового класса
например
C++
1
2
3
CMyFly ob1;
CMyPoint * ob2=&ob1;
ob2->xSetPrivate();
в данном случае вызовется функция xSetPrivate из класса CMyFly
а если бы функция была не виртуальная то вызвалась бы функция из CMyPoint
при виртуальных функциях компилятор сам решит из какого класса вызвать функцию
лишних действий со стороны программиста не требуется
главное чтобы функция была определена и в базовом классе и классе наследнике и объявлена как виртуальная
с членами класса сложнее
но можно создать виртуальную функцию которая вернет члены класса
какой нибудь GetInfo

Добавлено через 8 минут
Цитата Сообщение от SwanSONG Посмотреть сообщение
Я так понимаю, что желаемое можно получить через dynamic_cast, но я не могу понять, как
пойми что указатель указывает на базовый класс, в котором нет половины информации
и чтобы достать эту информацию компилятор должен знать на какой класс указатель действительно указывает
чтобы найти информацию о классе и нужен dynamic_cast
вот так лежит объект в памяти
Код
..............................
. -------------------   .
. -- базовый класс--   .
. -- int a       --   .
. -------------------   .
. ++++++++++++++++++ .
. + класс наследник + .
. + int b           + .
. ++++++++++++++++++.
.................................
указатель указывает на базовый класс ( все что в минусе)
про наследника (все что в плюсе) никто ничего не знает
чтобы узнал нужно привести
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru