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

Создание полиморфного объекта, зачем создавать указатель на объект базового класса? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализовать круговые движения курсором мыши http://www.cyberforum.ru/cpp-beginners/thread1233924.html
Я новичек в с++. Хочу написать простую программу, которая при нажатии на кнопку (которую задам я в программе) мышь начинала делать круговые движения (что-то типа цикла). Можете подсказать функцию, с...
C++ Ошибка доступа на break Здравствуйте! Пишу программу, по сути являющуюся мини базой данных, в которой должна быть возможность сохранить и загрузить базу. Сохранение вроде как работает, но вот с загрузкой проблемы. Если... http://www.cyberforum.ru/cpp-beginners/thread1233918.html
C++ Задать строку без нулевого символа
подскажите как задать строку без нулевого символа? когда пишешь так char str = "hello world" он автоматом добавляется, пробовал даже писать так char str = {'h','e','l'} (ну и т.д.) и все равно...
C++ Помогите найти ошибку: Создать строку символов произвольной длины, заданную диапазоном
/*Задание: Создать строку символов произвольной длины. Ввести с клавиатуры начало и конец диапазона в строке. Записать строку без диапазона(т.е. часть справа и часть слева)*/ #include <iostream>...
C++ Релиз консольной программы с SNMP запросами - найти ошибку в коде http://www.cyberforum.ru/cpp-beginners/thread1233883.html
Привет всем! Я написал программку, которая опрашивает некоторые устройства используя запросы по протоколу SNMP. Программа отлично работает при Start without debugging, но её релизная версия...
C++ Поиск популярного триплета. Конструктивная критика Добрый день. Недавно помогал решать задачу про триплеты, и захотелось услышать критики по своему коду :D. все-таки только учусь, и она я считаю будет полезной. в первую очередь, хотелось бы... подробнее

Показать сообщение отдельно
kylroma
Одессит
204 / 75 / 23
Регистрация: 30.12.2013
Сообщений: 276
Записей в блоге: 1
Завершенные тесты: 2
25.07.2014, 19:01  [ТС]
Вот пример. Если уберу virtual от метода print(), то объекты b и bb реагируют одинаково.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
 
using namespace std;
 
class A
{
protected:
    int n=10;
public:
    A(){cout << "Create A, n = " << n << endl;};
    void Show() {/*cout << "Show A\n";*/print();}
   virtual void print(){cout << "print A\n";}
   virtual ~A(){std::cout << "close A\n";};
};
 
class B: public A
{
public:
    B(){cout << "Create B, n = " << n << endl;};
    ~B(){std::cout << "close B\n";}
    void print(){cout << "print B\n";}
};
 
 
int main()
{
    A *b = new B;
    b->Show();
   delete b;
   cout << endl;
 
   B *bb = new B;
   bb->Show();
   delete bb;
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru