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

Как заменить объект List одного класса объектом другого? - C++

Восстановить пароль Регистрация
 
xcomx
-86 / 1 / 0
Регистрация: 27.01.2012
Сообщений: 29
26.03.2012, 00:23     Как заменить объект List одного класса объектом другого? #1
к примеру дано нам 1 объект класса Book , я хочу его вставить в класс Table вместо удаленного объекта данного класса....как мне поступить?


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
class Book
{
    list <LegOfBooks> listBook;
    list <LegOfBooks> :: iterator iter1;
    
public:
    
    void BooksLeg()
    {
 
   
    listBook.push_back(LegOfBooks(5));
 
 
 
    }
};
 
class Table
{
private:
    
    list <Legs> listLegs;
    list <Legs> :: iterator iter2;
    
public:
 
    void TableLegs()
    {
    listLegs.push_back(Legs(1));
    listLegs.push_back(Legs(2));
        listLegs.push_back(Legs(3));
    listLegs.push_back(Legs(4));
    
 
    
}
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
26.03.2012, 10:49     Как заменить объект List одного класса объектом другого? #2
Никак, и это правильно!
Нельзя использовать книгу вместо стола!
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
26.03.2012, 11:04     Как заменить объект List одного класса объектом другого? #3
xcomx, это имели в виду?
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
#include <iostream>
#include <list>
 
struct Base
{
    virtual ~Base()
    {
 
    }
};
 
struct Foo: public Base
{
    Foo()
    {
        std::cout << "Foo::Foo()" << std::endl;
    }
 
    ~Foo()
    {
        std::cout << "Foo::~Foo()" << std::endl;
    }
};
 
struct Bar: public Base
{
    Bar()
    {
        std::cout << "Bar::Bar()" << std::endl;
    }
 
    ~Bar()
    {
        std::cout << "Bar::~Bar()" << std::endl;
    }
};
 
int main()
{
    std::list<Base*> l;
    l.push_back(new Foo);
    delete *l.begin();
    *l.begin() = new Bar;
    delete *l.begin();
    return 0;
}
Но, как уже сказал Deviaphan, книга - не стол.
xcomx
-86 / 1 / 0
Регистрация: 27.01.2012
Сообщений: 29
26.03.2012, 13:02  [ТС]     Как заменить объект List одного класса объектом другого? #4
задание
3. Использование стопки книг в качестве подставки вместо ножки стола.

я знаю что книга не может быть столом...но ее но использовать к примеру книгу вместо ножки в реальной жизни можно...стопку книг...я прост привел пример с одной книгой....суть не измениться ,если привести пример с одной книгой!
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
26.03.2012, 13:22     Как заменить объект List одного класса объектом другого? #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от xcomx Посмотреть сообщение
задание
3. Использование стопки книг в качестве подставки вместо ножки стола.
Так вот оно в чём дело! Я то думаю, от куда берутся программисты, после которых оказывается дешевле сжечь файлы вместе с компьютером, чем пытаться что-то исправить и отладить... А оказывается это в институтах так учат. Таких афторов нужно бить по рукам ихними же произведениями...

Я даже с трудом представляю себе архитектуру приложения, соответствующего условию задачи...
Базовый класс "Объект", у которого есть свойство "высота". "Ножки" и "книжки" наследуются от него. У "стола" есть списки, в которых хранится либо одна "ножка", либо несколько сочинений Д.Донцовой, соответствующих по высоте одной ножке. Как-то так.
Но повторюсь, это идиотизм и уродство и афтор, составивший это задание, попадёт в Адъ!
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
26.03.2012, 14:44     Как заменить объект List одного класса объектом другого? #6
Цитата Сообщение от Deviaphan Посмотреть сообщение
У "стола" есть списки, в которых хранится либо одна "ножка"
Либо "стопка ножек". Полиморфизм же.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2012, 16:20     Как заменить объект List одного класса объектом другого?
Еще ссылки по теме:

Передача функции из одного класса в функцию другого C++
C++ Передача данных объекта одного класса , объекту другого
C++ Как переместить из стека одного класса в массив другого класса?

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

Или воспользуйтесь поиском по форуму:
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
26.03.2012, 16:20     Как заменить объект List одного класса объектом другого? #7
Цитата Сообщение от fasked Посмотреть сообщение
Либо "стопка ножек"
Чтобы избежать такой ситуации, нужно сделать класс "Стопка книг", который будет содержать книги. Тогда стопки ножек не будет.)
Yandex
Объявления
26.03.2012, 16:20     Как заменить объект List одного класса объектом другого?
Ответ Создать тему
Опции темы

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