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

Может ли метод родительского класса обратиться к полю дочернего класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разобрать код http://www.cyberforum.ru/cpp-beginners/thread1485145.html
Помогите разобраться с кодом!Можите рассписать где что находится пожалуйста! #include "stdafx.h" #include<iostream> #include <windows.h> #include <locale.h> #include <stdio.h> using namespace std; #include<conio.h> #include<stdlib.h> class test
C++ Выполнить перевод из одной валюты в другую по указанному курсу Напишите программу, которая сможет выполнять перевод из одной валюты в другие по указанному пользователем курсу. http://www.cyberforum.ru/cpp-beginners/thread1485139.html
C++ Определить порядковый номер минимального элемента массива
Создайте одномерный массив из 10 чисел. Выведите его на экран. Определите порядковый номер наименьшего из них.
Дано 10 вещественных чисел. Вычислить разность между максимальным и минимальным из них C++
Дано 10 вещественных чисел. Вычислить разность между максимальным и минимальным из них.
C++ Вывести длину наибольшей или наименьшей стороны треугольника в зависимости от его площади http://www.cyberforum.ru/cpp-beginners/thread1485136.html
Даны длины трех сторон треугольника x, y, z. Если площадь этого треугольника больше 100, вывести на экран длину наибольшей стороны, иначе вывести длину наименьшей стороны.
C++ Перевод градусной меры угла в радианную Напишите программу для перевода градусной меры угла в радианную. подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1786
Регистрация: 18.12.2011
Сообщений: 14,196
Завершенные тесты: 1
22.06.2015, 19:40     Может ли метод родительского класса обратиться к полю дочернего класса
А откуда родительский класс знает, что дополнительно имеется в дочернем классе?
Он что, экстрасенс и может знать, кто и что добавит в дочерний класс.

Программа может используя указатель на базовый класс обращаться к данным дочернего класса.
Для этого имеется приведение типа dynamic_cast<>
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class A
{
public:
   int ka;
};
class B:public A
{
public:
int kb;
};
...
A a;
B b;
A *pa;
pa=&a;
pa->ka=1;
pa=&b;
dynamic_cast<B*>(pa)->kb=1;
 
Текущее время: 10:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru