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

Неочевидные грабли полиморфизма с++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Таймер в програме http://www.cyberforum.ru/cpp-beginners/thread389684.html
Как сделать такой таймер: Нужно, чтобы значение переменной некоторого объекта увеличивалось через определенный интервал времени. При этом чтобы можно было вводить значения с клавиатуры. Просто чтобы...
C++ Сортировка вставкой Всем привет. Задали задание написать код сортировки вставкой. Писал код по блок-схеме. Код получился нерабочий. Помогите найти ошибку. #include <stdio.h> #include <conio.h> int main() { int... http://www.cyberforum.ru/cpp-beginners/thread389681.html
C++ Перегрузка операторов
Доброго времени суток. на завтра надо сделать работу, а я не могу понять как использовать перегрузку операторов. помогите пожалуйста разобраться вобщем надо найти количество значений переменных...
Не могу объявить массив указателей на объект C++
Здравствуйте! Такой вопрос. При объявлении массива указателей на объект появляются 3 ошибки. void Cindex::merge(Ckey *A, int l, int m, int r) { int i, j; Ckey *Ax; for(i = m+1; i > l; i--) *Ax...
C++ рестарт http://www.cyberforum.ru/cpp-beginners/thread389674.html
как сделать автоматический рестарт программы после окончания ее работы? на примере
C++ Преобразование числа в символ. Здравствуйте, пишу программу перевода числа из Р-ичной системы счисления в Q-ичную. Столкнулся с такой вот проблемкой... При Q<10 все работает корректно, а вот при Q>10 вместо букв A,B,C,D....... подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
18.12.2011, 13:20
Выдержки из стандарта на эту тему.

An lvalue of type “cv1 B,” where B is a class type, can be cast to type “reference to cv2 D,” where D is a class
derived (Clause 10) from B, if a valid standard conversion from “pointer to D” to “pointer to B” exists (4.10),
cv2 is the same cv-qualification as, or greater cv-qualification than, cv1, and B is neither a virtual base class
of D nor a base class of a virtual base class of D. The result has type “cv2 D.” An xvalue of type “cv1 B” may
be cast to type “rvalue reference to cv2 D” with the same constraints as for an lvalue of type “cv1 B.” If the
object of type “cv1 B” is actually a subobject of an object of type D, the result refers to the enclosing object
of type D. Otherwise, the result of the cast is undefined.

C++
1
2
3
4
5
6
struct B { };
struct D : public B { };
D d;
B &br = d;
static_cast<D&>(br);
// produces lvalue to the original d object
A prvalue of type “pointer to cv1 B,” where B is a class type, can be converted to a prvalue of type “pointer
to cv2 D,” where D is a class derived (Clause 10) from B, if a valid standard conversion from “pointer to D” to
“pointer to B” exists (4.10), cv2 is the same cv-qualification as, or greater cv-qualification than, cv1, and B
is neither a virtual base class of D nor a base class of a virtual base class of D. The null pointer value (4.10)
is converted to the null pointer value of the destination type. If the prvalue of type “pointer to cv1 B” points
to a B that is actually a subobject of an object of type D, the resulting pointer points to the enclosing object
of type D. Otherwise, the result of the cast is undefined.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru