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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
xcomx
-86 / 1 / 0
Регистрация: 27.01.2012
Сообщений: 29
#1

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

26.03.2012, 00:23. Просмотров 756. Ответов 6
Метки нет (Все метки)

к примеру дано нам 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)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2012, 00:23     Как заменить объект List одного класса объектом другого?
Посмотрите здесь:

Классы-друзья (использование данных одного класса из другого) C++
C++ Как создать объект с конструктором в интерфейсе другого класса?
C++ Как заменить объект в std::list?
C++ Доступ одного класса к данным другого
C++ Преобразование объектов одного класса в объекты другого
C++ Обращение к переменным одного метода из другого внутри класса
C++ Передача указателя в класс на объект другого класса
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
26.03.2012, 10:49     Как заменить объект List одного класса объектом другого? #2
Никак, и это правильно!
Нельзя использовать книгу вместо стола!
soon
2537 / 1302 / 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++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
26.03.2012, 13:22     Как заменить объект List одного класса объектом другого? #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от xcomx Посмотреть сообщение
задание
3. Использование стопки книг в качестве подставки вместо ножки стола.
Так вот оно в чём дело! Я то думаю, от куда берутся программисты, после которых оказывается дешевле сжечь файлы вместе с компьютером, чем пытаться что-то исправить и отладить... А оказывается это в институтах так учат. Таких афторов нужно бить по рукам ихними же произведениями...

Я даже с трудом представляю себе архитектуру приложения, соответствующего условию задачи...
Базовый класс "Объект", у которого есть свойство "высота". "Ножки" и "книжки" наследуются от него. У "стола" есть списки, в которых хранится либо одна "ножка", либо несколько сочинений Д.Донцовой, соответствующих по высоте одной ножке. Как-то так.
Но повторюсь, это идиотизм и уродство и афтор, составивший это задание, попадёт в Адъ!
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 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++ Как переместить из стека одного класса в массив другого класса?
Доступ к членам одного класса с другого C++
C++ Как получить указатель на объект класса из списка std::list?

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

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

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