Re[4]: Приведение типа указателя
От: Eldar9x  
Дата: 05.03.08 10:56
Оценка:
Здравствуйте, NikeByNike, Вы писали:
NBN>
NBN>A * a = new C();
NBN>B * b = dynamic_cast<B*>(a);
NBN>if ( b )
NBN>{
    b->>B::do_it();
NBN>}
NBN>


понятно. А возможно ли изменить тип указателя на тип B*, после операции:
A * a = new C();

так чтобы, вызов
a->do_it();

приводил к вызову метода класса B? Другими словами, сделать что-то вроде:
A * a = new C();
a = new B(*a);  // получили указатель типа B*, с данными от С, 
                // пусть это и чревато потерей данных.
                // Только сделать это не даст компилятор.
int i;
i = (i++)+(i++);
cout << i;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.