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

Наследование классов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу на с++ по теории информации http://www.cyberforum.ru/cpp-beginners/thread583556.html
ЛИНЕЙНЫЕ ГРУППОВЫЕ КОДЫ Закрепление знаний по методам кодирования информации. 1. Построить линейный групповой код, способный исправлять одиноч-ную ошибку. Вариант взять из лабораторной № 4. 2. Привести пример 10 кодовых комбинаций. 3. Показать процесс исправления ошибки в заданном разряде k. 4. Составить программу, кодирующую и декодирующую кодовую комбинацию-помогите написать, или...
C++ Вывод больше заданного значения Доброго времени суток! Помогите пожалуйста разобраться как правильно организовать вывод списка работников, зарплата которых больше заданной. Функция void spispaid. Я так понимаю, сравнивать spis.getpaid с целым числом нельзя, т.к. это указатель и целое. Все что получилось ниже, поправьте если что не так #include <QtCore/QCoreApplication> #include <iostream> #include <string> #include... http://www.cyberforum.ru/cpp-beginners/thread583552.html
C++ Напечатайте все точные квадраты натуральных чисел, не превосходящие данного числа n (например, при вводе 50 программа выводит 1 4 9 16 25 36 49).
1. Напечатайте все точные квадраты натуральных чисел, не превосходящие данного числа n (например, при вводе 50 программа выводит 1 4 9 16 25 36 49). 2. Дано натуральное число n. Определите, является ли оно степенью числа 2, и выведите слово YES, если является и слово NO, если не является. 3. Для данного натурального числа n определите такое наименьшее целое k, что 2k≥n. Например, при вводе...
Синхронизация, семафор C++
Помогите синхронизировать код. const int j=20; hSemaphore = CreateSemaphore(NULL, 0, 1, NULL); DWORD __stdcall Process(LPVOID) { int t; WaitForSingleObject(hSemaphore, INFINITE);
C++ найти ошибку http://www.cyberforum.ru/cpp-beginners/thread583518.html
кто знаком с алгоритмом шифрования IDEA ,расшифровывает неправильно,не знаю почему,вот весь проект,с файлами,bac_text.txt -текст котор@ы надо зашифровать/расшифровать.temp.txt-записывает результат шифрования/дешифровки.
C++ winAPI консоль Добрый День .Можно сделать так что бы не смотреть на нудную загрузку консоль ,а сделать пока идёт загрузка картинку и будет там по центру надпись высвечивать "Ожидайте завершения загрузки"а когда консоль загружается ,картинка убирается и появляется консоль подробнее

Показать сообщение отдельно
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
23.05.2012, 08:57     Наследование классов
Цитата Сообщение от Ksan Посмотреть сообщение
Ошибку выдаст
Разумеется выдаст. Weapon в данном случае не знает таких функций. Он может вызывать только функции, которые он знает. Вот так, скажем:
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
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
class Weapon
{
    public:
    virtual void bullet() {;}
};
 
class Ak47 : public Weapon
{
    public:
    void bullet(){cout << "Fire!" << endl;}
};
 
int main()
{
    Weapon *wea = new Ak47;
    (*wea).bullet();
    
    system("PAUSE > NULL");
    return EXIT_SUCCESS;
}
Выдаст Fire!
Если слово virtual убрать, то ничего не выведет: вызовется функция базового класса.


Цитата Сообщение от Ksan Посмотреть сообщение
чем плох такой вариант?
Так можно конечно сделать, но это будет запутаннее гораздо. Вот тогда как будет выглядеть создание объекта такого класса:
C++
1
Weapon w("AK47");
Однако если вы создадите новые классы, всего лишь придется написать:
C++
1
ak47 ak;
Да и потом, куча условий - это ведь не удобно. Вот если написать несколько классов - сразу видно что, где - нагляднее гораздо.
Вот напишите пару программ, потренеруйтесь. Почувствуйте наследование.

Не по теме:

PS С bers'ом я согласен, с этим не поспоришь

 
Текущее время: 05:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru