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

подскажите пожалуйста с наследованием - C++

Восстановить пароль Регистрация
 
xcomx
-86 / 1 / 0
Регистрация: 27.01.2012
Сообщений: 29
19.02.2012, 22:29     подскажите пожалуйста с наследованием #1
Здравствуйте!
такой вопрос...

создаю базовый класс
к примеру :
C++
1
class Books
от него наследую

C++
1
2
3
4
class History : public Books
{
 
}
и еще один

C++
1
2
3
4
class Geography : public Books
{
 
}
как мне реализовать список типа List в классе History и Geography?

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
37
38
39
40
41
42
43
44
45
46
class Books                          
protected:
    string name;                 
    string author;
    float price;                
    int year;                  
public:
    Books() : 
      name (), author () , price (), year ()  
      {  }
      Books(string n_name, string a_author, float p_price, int y_year) :
      name(n_name), author(a_author), price(p_price), year(y_year)
      {  }
 
      friend ostream& operator << (ostream&, Books&);
      friend istream& operator >> (istream&, Books&);
     void display() const
    {
 
        cout << endl << name << ",\t" << author << ",\t" << year
            << "\t\t price:" << price ; 
    
     }
     
     virtual void get_pages() = 0;
     
        
};
 
class History : public Books // 
{
private:
    int n_of_p;
    
public:
    
    list<History> histList;
    list<History> :: iterator iter1;
    
    histList.push_ back(("name book","author","price"));
    histList.push_ back(("name book","author","price"));
    histList.push_ back(("name book","author","price"));  
    
    
 
};
я совсем лом ...мб подскажите что мне делать?

так в каждом классе делать или поступить подругому

 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2012, 22:29     подскажите пожалуйста с наследованием
Посмотрите здесь:

C++ Подскажите пожалуйста!!!
C++ Подскажите пожалуйста
C++ Подскажите, пожалуйста
Подскажите пожалуйста! C++
C++ Подскажите, пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
19.02.2012, 23:03     подскажите пожалуйста с наследованием #2
Ну создайте же список книг
C++
1
2
3
4
5
6
class ListOfBooks
{
Books data;
Books* next;
Books* prev;
}
А потом будете его использовать
C++
1
2
3
4
5
6
7
8
class History
{
ListOfBooks* Head;
ListOfBooks* Tail;
 
void addToHead(const ListOfBooks& l);
...
}
xcomx
-86 / 1 / 0
Регистрация: 27.01.2012
Сообщений: 29
20.02.2012, 00:42  [ТС]     подскажите пожалуйста с наследованием #3
чет не получается создать объект))
villu
202 / 202 / 4
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
20.02.2012, 10:30     подскажите пожалуйста с наследованием #4
а
C++
1
std::list<Book*>
не годится?
или
C++
1
std::list< shared_ptr<Book> >?
Где shared_ptr = boost::shared_ptr, либо std::tr1::shared_ptr.

И да. Не совсем по теме, но все ж добавь
C++
1
virtual ~Books() {}
в класс Books.
xcomx
-86 / 1 / 0
Регистрация: 27.01.2012
Сообщений: 29
20.02.2012, 18:57  [ТС]     подскажите пожалуйста с наследованием #5
все равно не хочет...

мб я мучу че не так...но как не пробывал все равно ошибка)

Добавлено через 31 минуту
no overloaded function takes 3 arguments вот что пишет
Yandex
Объявления
20.02.2012, 18:57     подскажите пожалуйста с наследованием
Ответ Создать тему
Опции темы

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