Форум программистов, компьютерный форум 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) // <====================================== { подробнее

Показать сообщение отдельно
QGuest
8 / 8 / 0
Регистрация: 08.01.2013
Сообщений: 85
02.05.2014, 20:01     Указатель this и виртуальние функции
Доброго времени суток!
Есть проблема:
Существует два класса: второй наследует первого.
Есть функция, которая выводит название класса к которому принадлежит объект. Вот в этом и проблема: вызывая данную функцию с второго (наследуемого) класса выводится название первого (родительского).
Как сделать так, чтоб все выводилось правильно без переопределения метода?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class SuperClass {
public: 
    virtual std::string getClassName() {
        return typeid(this).name();
    }
}
 
class SubClass : public SuperClass {}
 
int main() {
    SubClass* object = new SubClass();
    cout << object.getClassName(); // выводит "class SuperClass", а должно "class SubClass"
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru