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

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

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

Показать сообщение отдельно
kylroma
Одессит
 Аватар для kylroma
44 / 44 / 18
Регистрация: 30.12.2013
Сообщений: 204
Записей в блоге: 1
Завершенные тесты: 1
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;
}
 
Текущее время: 10:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru