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

восходящее и нисходящее преобразование (Upcasting and Downcasting) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ cygwin1.dll не хватает библиотеки http://www.cyberforum.ru/cpp-beginners/thread653891.html
всем привет интересно узнать, как можно "подключить" или "вшить" данную библиотеку в программу, чтобы программа не требовала этой библиотеки на компьютере на котором нету этой библиотеки. получается что у меня все запускается нормально, а если запустить программу на другом компьютере, пишет что не хватает этой библиотеки. Или как устранить данную проблему? Добавлено через 58 минут нашел...
C++ мигающий курсор В CODEBLOCS в окне набора текста программы появился мигающий курсор "_", а раньше был курсор "|". И редактирование текста поменялось. Теперь в строчке нельзя между символами вставить другой символ, а только от мигающего курсора набирать строку по новому. Видать я случайно нажал какую то кнопку на клавиатуре и редактор текста поменялся. Кто знает, как вернуть прежнее редактирование текста? http://www.cyberforum.ru/cpp-beginners/thread653889.html
Вызов перегрузки базового класса C++
Начитавшись c# забыл кое-что по с++, никак теперь не могу вспомнить как вызвать перегрузку базового класса в перегрузке наследника. Есть что-то типа: class Foo { public: const Foo& operator=(const Foo& right) { delete x; x= new int(*(right.x)); return *this;
C++ Запутанный код на С++
Здравствуйте уважаемые программисты!Помогите,пожалуйста разобрать запутанный с++ код. #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <iostream> using namespace std; class MAIN{}; class B;
C++ Определить какая из точек ближе всего лежит к началу координат http://www.cyberforum.ru/cpp-beginners/thread653804.html
Помогите решить задачи. 1)Заданы 3 точки р1(х1,у1),р2(х2,у2),р3(х3,у3).Определить какая из точек ближе всего лежит к началу координаты. 2)Спортсмен в первый день пробежал 2 км.Каждый последующий день он увеличивал свой пробег на 20%.Определить его сумарный пробег за 10 дней. 3)С клавиатуры введите целое число(0-окончание ввода).Определить кол-во четных и нечетных чисел и их среднее...
C++ уточнение по Объеденениям Прочитал на http://programmersclub.ru/19/, что Объединения хранят инфу только для одного элемента в данный момент времени, но зделав один пример в Визуал студио 2010 это не совсем так. Вот код: #include <iostream> #include<stdlib.h> using namespace std; union proba { short k; int t; подробнее

Показать сообщение отдельно
ProNoooob
71 / 71 / 6
Регистрация: 14.10.2009
Сообщений: 121
18.09.2012, 17:30     восходящее и нисходящее преобразование (Upcasting and Downcasting)
Цитата Сообщение от electromind Посмотреть сообщение
вот если бы еще пример кода для наглядности, чтобы так сказать пощупать это все руками - было бы вообще супер
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
37
#include <stdio.h>
 
class A
{
    virtual void print() = 0;
};
 
class B: public A
{
    void print()
    {
        printf("B");
    }
};
 
class C: public A
{
    void print()
    {
        printf("C");
    }
};
 
int main()
{
    // Upcasting
    A *a1 = new B();
    A *a2 = new C();
 
    // Downcasting
    B *b1 = dynamic_cast<B *>(a1);
 
    // Error
    B *b2 = dynamic_cast<B *>(a2);
 
    return 0;
}
Оператор dynamic_cast в рантайме проверяет типы объектов.
Если они не совпадают, то он возвращает ноль.
 
Текущее время: 13:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru