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

List и абстрактный класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ отрисовка нестандартной штриховки средствами GDI. Как? http://www.cyberforum.ru/cpp-beginners/thread24797.html
Доброго времени суток! встала проблема отрисовки штриховки, отличающейся от стандартной CreateHatchBrush. Цель - получить кисть, которой можно пользоваться как обычной, но у которой имеются фоновые и...
C++ Too few arguments to function. Почему? Здравствуйте! Есть программа, которая при компиляции вываливается с ошибкой. Нужно эту ошибку найти. #include <iostream> #include <string> using namespace std; void func (double cena,... http://www.cyberforum.ru/cpp-beginners/thread24781.html
Прошу коллективной помощи! C++
Добрый день! Стоит задача создать программу на C, которая бы умела: - обращаться к нескольким внешним программам, а именно поочередно запускала их и отправляла им определенного рода информацию...
C++ выдает ошибку E2061-почему
вот часть кода Matrix<U>& mtr; unsigned int i; Helper(Matrix<U>& _mc, unsigned int _i): mtr(_mc), i(_i) {}; Helper(const Matrix<U>& _mc, unsigned int _i):...
C++ что такое Void http://www.cyberforum.ru/cpp-beginners/thread24747.html
Всем привет кто подскажет что такое Void.
C++ Палиндром, матрица, список... Задачи С++ Здравствуйте! Помогите пожалуйста решить задачи :-[ Задача №1 Найти все простые натуральные числа, не превосходящие n, двоичная запись которых представляет собой палиндром, т.е. читается одинаково... подробнее

Показать сообщение отдельно
Holmes
5 / 5 / 1
Регистрация: 24.08.2014
Сообщений: 78

List и абстрактный класс - C++

02.03.2009, 22:00. Просмотров 3095. Ответов 2
Метки (Все метки)

Доброго времени суток. Есть интересная ситуация. Допустим у нас есть абстрактный клас Book.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Book
{
public:
    Book(void);
    Book(char *a, char *b);
    ~Book(void);
    char name[20];
    char author[20];
    char *getName() {return name;};
    char *getAuthor() {return author;};
    virtual char *getPrice() = 0;
};
 
Book::Book(char *a, char *b)
{
    strcpy(name, a);
    strcpy(author, b);
}
И есть два класа которые от него наследуютса.

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
    class BookStore: public Book
    {
    private:
        int price;
 
    public:
        BookStore(int a, char *b, char *c):Book(b, c)
        {
            price = a;
        }
 
        char *getPrice()
        {
            char str[20];
            return itoa(price, str, 10);
        }
    };
 
    class BookLibrary: public Book
    {
    public:
        BookLibrary(char *a, char *b): Book(a, b){};
 
        char *getPrice()
        {
            char str[20] ;
            strcpy(str,"The librery book");
            return str;
        }
    };
Создаем лист типа Book.

C++
1
list<Book*>* Store = new list<Book*>();
И теперь если в лист додать екземпляр BookStore, то переменная price не создаетса.

C++
1
(*Store).push_back(new BookStore(price, name, author));
Создаетса просто екземпляр Book. В чем может быть проблема?

Добавлено через 1 час 14 минут 25 секунд
Уже все нормально. Пременной не видно только во время дебага
Если ктото знает, помогите пожалуйста. Надо отсортировать етот лист по цене, но одновременно и по алфавиту. Там вроди надо функцию переписать, но не могу найти негде как.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.