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

Написать коментарии - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка компиляции в VS2010 http://www.cyberforum.ru/cpp-beginners/thread862959.html
Написал код на Dev C++. Пихаю в визуалку и она отказываеться компилировать( Ругаеться на 116 строчку, пишет что ф-ция должна вернуть значение. но если я буду чтото возвращать или сделаю ее воид то програма будет работать не коректно. Подскажите в чем загвоздка. #include <iostream> #include <string> #include <conio.h> using namespace std; enum CATEGORY{family, sport, cabrio, jeep}; ...
C++ Fit набора точек Привет! Кто-нибудь может посоветовать уже какой-нибудь готовый код, который делает фит набора точек произвольной функцией с определенным кол-вом свободных параметров? Заранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread862952.html
Инвертировать строку; подсчитать количество чисел; удалить все слова, начинающиеся с гласных букв C++
Всем приветик просьба помочь со строками. Задание:инвертирует строку,подавая его в обратном виде,подсчитывает кол-во чисел в тексте,удаляет все слова что начинаются с гласных букв. Вот что есть: string reverse(string, int); int main() { setlocale(LC_ALL, "Russian"); string a, b; int res; cout << "Введите строку : ";
C++ Задание На Классы С++Дня начинающих
Уважаемые программисты Прошу помочь. так как эту тему я не понял :(. Задание: Обьявить в классе 2 симовлольные переменные .Вывести их на печаль. Заранее спасибо :help:
C++ прогрессии http://www.cyberforum.ru/cpp-beginners/thread862941.html
Определить является ли вводимая с клавиатуры последовательность арифметической и геометрической прогрессией.
C++ время Поезд прибывает на станцую в a часов b минут и отправляется в c часов d минут. Пассажир прибыл на платформу в n часов m минут. Будет ли поезд стоять на платформе. Числа a,b,c,d,n,m – целые , 0<a<23.0<b<59.0<c<23.0<d<59.0<n<23.0<m<59.0. подробнее

Показать сообщение отдельно
Andru1312
2 / 2 / 0
Регистрация: 03.03.2013
Сообщений: 100
12.05.2013, 23:16  [ТС]     Написать коментарии
Цитата Сообщение от ninja2 Посмотреть сообщение
А это просто виртуальная функция, если чисто виртуальную функцию нужно обязательно переопределить в производных классах, (если это го не сделать, то производный класс также станет виртуальным классом) то эту функцию можно и не переопределять и класс просто какой есть такой есть virtual позволяет использовать виртуальный механизм вызова функци, это вроде как диспетчеризация называется и еще это называют полиморфизм, это когда через указатель на базовый класс вызывается без проверки нужная виртуальная функция.

Добавлено через 8 минут
Код C++
A1 *a1 = new A1(); //создается указатель a1 на объект A1 (A1() - это вызов конструктора типа А1)
A1 *a2 = new A2();//а тут уже для указателу на базовый класс A1 присваивается адрес объекта производного класса А2, по правилам можно указателю базового класса присвоить указатель на производный класс.
A2 *test = 0; //создается указатель на тип (класс) А2, которому присваивается 0 (указывает ни на что)
test = dynamic_cast< A2 * >( a1 ); //а здесь происходит динамическое преобразование типа, так как указатель а1 указывает на тип А1, которые не есть А2, то test будет равен 0, тоесть преобразования не произойдет.
if ( test != 0 )
std::cout << "a1 is A2 object" << std::endl;
else
std::cout << "a1 is not A2 object" << std::endl;//эта строчка выведется потому что a1 не А2
Про виртуальный метод понял.

Объясните пожалуйста данный фрагмент
C++
1
2
3
4
5
6
7
8
A1 *a1 = new A1(); 
A1 *a2 = new A2(); 
A2 *test = 0; 
test = dynamic_cast< A2 * >( a1 ); 
if ( test != 0 ) 
std::cout << "a1 is A2 object" << std::endl; 
else 
std::cout << "a1 is not A2 object" << std::endl;
 
Текущее время: 03:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru