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

Указатель this и виртуальние функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывод дерева, найти ошибку в коде http://www.cyberforum.ru/cpp-beginners/thread1164319.html
Ребятки,выручите,кто может,в общем,нужно,чтобы дерево вывелось,но не получается почему-то,где-то леплю смешную ошибку,программу полдня писал,уже голова не варит...Буду крайне благодарен за помощь #define _CRT_SECURE_NO_WARNINGS #include "windows.h" #include "stdio.h" #include "conio.h" #include "math.h" #include <locale.h> struct tree //дерево как структура
C++ Как сделать динамический массив объектов? IContainer *C = new myString; Есть такая запись, нужно сделать массив из C. IContainer *C = new myString; такое не работает, есть варианты или это невозможно? Добавлено через 2 минуты Далее мне нужно записывать http://www.cyberforum.ru/cpp-beginners/thread1164310.html
C++ Перекодировка из EBCDIC в win1251
Помогите пожалуйста составить прогу перекодировки файла из EBCDIC в win1251
C++ Заменить каждое третье положительное число средним арифметическим отрицательных чисел, вывести в файл
Записать выходной файл, заменив каждое третье положительное число средним арифметическим отрицательных чисел. Дело в том, что я провел небольшой стресс-тест, к примеру: на первом и втором номере я ввел числа "+", на 3 номере число "-", на 4 номере число "+", в таком случае он мне должен был вывести на 4 номере среднее арифметическое, т.к. "каждое третье положительное", у нас же под 3-им...
C++ Удвоить каждое слово во введённом предложении http://www.cyberforum.ru/cpp-beginners/thread1164295.html
Удвоить каждое слово во введённом предложении. На печать вывести введённую строку и результат её обработки.
C++ Найти количество одинаковых слов в строке #include <iostream> using namespace std; int main() { char str1 = "to be or not to be"; char* leks = strtok(str1, " "); while(leks) // <====================================== { подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.05.2014, 01:13     Указатель this и виртуальние функции
Цитата Сообщение от 0x10 Посмотреть сообщение
Применить typeid к разыменованному указателю:
Как я понимаю, всё дело в том, что
this - не явлется glvalue, a *this - является.

a) If expression is a glvalue expression that identifies an object of a polymorphic type (that is, a class that declares or inherits at least one virtual function), the typeid expression evaluates the expression and then refers to the std::type_info object that represents the dynamic type of the expression. If the result of the evaluated expression is a null pointer, an exception of type std::bad_typeid or a type derived from std::bad_typeid is thrown.

b) If expression is not a glvalue expression of polymorphic type, typeid does not evaluate the expression, and the std::type_info object it identifies represents the static type of the expression. Lvalue-to-rvalue, array-to-pointer, or function-to-pointer conversions are not performed.
http://en.cppreference.com/w/cpp/language/typeid
 
Текущее время: 17:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru