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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.71
holmes
Сообщений: n/a
02.03.2009, 22:00     List и абстрактный класс #1
Доброго времени суток. Есть интересная ситуация. Допустим у нас есть абстрактный клас 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 секунд
Уже все нормально. Пременной не видно только во время дебага
Если ктото знает, помогите пожалуйста. Надо отсортировать етот лист по цене, но одновременно и по алфавиту. Там вроди надо функцию переписать, но не могу найти негде как.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2009, 22:00     List и абстрактный класс
Посмотрите здесь:

Абстрактный класс C++
абстрактный класс C++
Абстрактный класс C++
C++ Абстрактный класс
Написать обработчик исключений ситуации при преобразовании указателя на класс B до указателя на абстрактный класс А ... C++
C++ Абстрактный класс
C++ Создать класс - данные - абстрактный базовый класс. Создать производные классы
C++ Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями
C++ Абстрактный класс
C++ абстрактный класс
Абстрактный класс C++
Абстрактный класс/Класс интерфейс C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Night_Light
17 / 17 / 2
Регистрация: 14.02.2009
Сообщений: 86
05.03.2009, 18:36     List и абстрактный класс #2
Глянь сюда http://www.cplusplus.com/reference/stl/list/sort.html

Я думаю что написать свою функцию сортировки по такому примеру тебе будет не тяжело
holmes
Сообщений: n/a
06.03.2009, 12:55     List и абстрактный класс #3
Спс
Yandex
Объявления
06.03.2009, 12:55     List и абстрактный класс
Ответ Создать тему
Опции темы

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