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

Абстрактные классы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ cin получил char вместо double и while зациклился. Почему? http://www.cyberforum.ru/cpp-beginners/thread650415.html
Привет! Решил задачу из книги Шилдта. "Годы Юпитера в Земные" Захотел проверить, что произойдет, если пользователь ошибется и вместо значения года введет символ. В итоге цикл while() бесконечно повторяется. Почему? #include <iostream> using namespace std; int main() { double jupiter_age = 0.0; char q = 'n'; while(q != 'y')
C++ Проверить 4 задачи Пишу не себе, а девушке. Сам немного знаком с Делфи и MQL . Решения вроде бы правильные. Проверьте пожалуйста. Просто у меня не на чем. 1. Заданы числа a , b . Проверить, одного ли знака эти числа #include <iostream.h> #include <conio.h> void main() { int a,b; cout<<"a="; http://www.cyberforum.ru/cpp-beginners/thread650413.html
Не изменяет запись C++
В общем... Не могу разобраться, почему 4-ая(find) функция не меняет данные...Помогите, пожалуйсто.) #include <stdio.h> #include <conio.h> #include <string.h> #include <Windows.h> struct tov {char name; float c; int kol;} t1; void input(FILE *); // создание нового файла void print(FILE *); // просмотр файла
C++ <iostream> в каких случаях используется?
Что такое <iostream> расскажите о нем, для чего он используется.
C++ начать отладку http://www.cyberforum.ru/cpp-beginners/thread650385.html
Здравствуйте! Скажите пожалуйста, почему в этом коде system("pause") не работает??? #include "stdafx.h" #include <stdio.h> #include <math.h> int main(void) { double result; double x = 0.5; result = cos(x); printf("Косинус числа %lf – %lf\n", x, result);
C++ В составе программы описать функцию 1.В составе программы описать функцию, которая формирует список М1 – копию списка М и список М2, представляющий собой ”перевернутый” список М. 2.Дана матрица 7х9 вещественного типа. Создать одномерный массив, содержащий элементы матрицы, меньшие среднего арифметического значения элементов матрицы (Fn1). Для созданного массива определить индекс минимального элемента и индекс максимального... подробнее

Показать сообщение отдельно
AndreaZzZ
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 6
12.09.2012, 16:07  [ТС]     Абстрактные классы
CC (как и CA для CB) является дополнением, но иногда и само используется. Я не вижу смысла иметь две одинаковые записи в каждом классе.

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>
 
class CA abstract {
    public:
        virtual void test( void ) = 0;
        virtual void fun( void ) = 0;
};
 
class CB abstract : public CA {
    public:
        virtual void new_test( void ) { std::cout << "Call function cd.test();" << std::endl; }
        virtual void new_fun( void ) { std::cout << "Call function cd.fun();" << std::endl; }
};
 
class CC : public CA {
    public:
        void test( void ) { std::cout << "Call function cc.test();" << std::endl; }
        void fun( void ) { std::cout << "Call function cc.fun();" << std::endl; }
};
 
class CD : public CB, public CC {
    public:
        typedef CB BaseClass;
        void new_test( void ) { BaseClass::new_test(); }
        void new_fun( void ) { BaseClass::new_fun();}
};
 
int main () {
    std::cout << "Program:" << std::endl;
    CD cd;
    cd.test(); cd.fun(); cd.new_test(); cd.new_fun();
 
    while(true);
 
    return 0;
}
Что то не работает это если, ругается на:
error C2259: 'CD' : cannot instantiate abstract class due to following members: 'void CA::test(void)' : is abstract
 
Текущее время: 09:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru