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

Исключение для чисто виртуальной функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Странное поведение при переопределении operator++ http://www.cyberforum.ru/cpp-beginners/thread942482.html
Всем привет! Изучая переопределения в С++ наткнулся на следующую непонятку: #include <iostream> using namespace std; class Car { int * itsage; public:
C++ Как написать максимально оптимизированную функцию поиска длинны строки? Мысль о максимально оптимизированной функции длинны строки, где строка это указатель на литерал типа char. Не будем использовать не std::string, не std::wstring, не wchar_t в функцию передается... http://www.cyberforum.ru/cpp-beginners/thread942451.html
C++ Создание .exe
Здравствуйте, я лишь неделю в программировании пытаюсь разбираться и соответственно вопросы мои могут показаться глупыми. Но столкнулся с проблемой что в Dev C++ что в NetBeans IDE при компеляции...
битовые операции C++
как из 0001 0000 тоесть в dec '8' сделать 0000 0001 в dec '1'?
C++ Вывод значений вектора на экран http://www.cyberforum.ru/cpp-beginners/thread942415.html
есть правильно заполненный вектор: vector<Employee*> emp; один из экземпляров: Bytime bt1("Ahmed", 2, 6.0); необходимо вывести три последние значения ID (второй параметр)на экран. Написал...
C++ Post запрос 1) Здравствуйте, в общем я пытаюсь написать программу для одного сайта, все получается авторизация готова, но делаю 1 функцию не могу понять откуда берется 1 переменная в пост date. Я через сниффер... подробнее

Показать сообщение отдельно
ArkTaS
1 / 1 / 0
Регистрация: 01.07.2013
Сообщений: 127
26.08.2013, 01:44  [ТС]
Цитата Сообщение от IGPIGP Посмотреть сообщение
если речь о указателях а не значениях, то усечения нет. Просто "слепо" указатель указывает на то на что указывает (в зависимости от типа его объявления).
Если речь об указателях то я использовал термин "связывание" указателя с объектом, а если обращение через B=D то усечение, обрезание) я не прошу объяснять что будет если..... спасибо конечно за ваши старания. Можно слепо зазубрить весь особый синтаксис языка или сахар как называют его на лукморе и писать хорошие программы.
Мне нужно другое, я попытался человеческим понятным языком описать особенности полиморфизма в своей интерпретации. И мне интересно насколько она годна и имеет ли право на жизнь...Не возникнет ли в дальнейшем проблем при изучении, из за такого восприятия полиморфизма. Конкретно волнует выделенное жирним шрифтом:
Цитата Сообщение от ArkTaS Посмотреть сообщение
Если бы была возможность выполнить команду ptrB->derv::func() компилятор выдал бы класс base не содержит члена derv::func(). Но время выполнения ptrB->func(); произойдет обращение к таблице виртуальных функций из которой будет выбрана соответствующая функция в зависимости от типа объекта. Выводы сделаны на основе реальной ошибки:
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
 
#include <iostream>
 class A
{
public:
    A(){std::cout << " Aconstr " << std::endl;}
 
};
  
class C : public A
{
public:
 
    C(){std::cout << " Cconstr " << std::endl;}
 
    void func(){std::cout << " C fucn " << std::endl;}
 
};
int main()
{
    A* a = new C();
 
        a->func(); // Класс А не содержит члена func
    system("pause");
    std::cout<<std::endl;
}
Добавлено через 4 минуты
Если бы была возможность выполнить команду ptrB->derv::func() компилятор выдал бы класс base не содержит члена derv::func(). Это правда ?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru