Подставляя контейнер списка STL с указателем класса - PullRequest
0 голосов
/ 04 марта 2011

В следующей реализации я пытаюсь ответить на мой вопрос :

class wlist
{
private:
    std::list<void*> m_list;

public:

    unsigned int size () { return m_list.size(); }
    bool empty () { return m_list.empty(); }
    void pop_back () { m_list.pop_back(); }
    void pop_front () { m_list.pop_front(); }
};

class qwertyWrap : public wlist
{
public:
    int getNumber() { ptr->getNumber(); }
    void setNumber(int x) { ptr->setNumber(x); }

private:
    qwerty* ptr;
};

class qwerty
{
public:
    int getNumber();
    void setNumber(int x);
};


class asdf
{
public:
    int getElement();
    void setElement(int x);
private:
    /* Question */
    /* Can the following declaration be substituted by qwertyWrap keyboard ??? */
    list<qwerty*> keyboard; or qwertyWrap keyboard;
};

Вопрос: Можно ли заменить «клавиатуру qwertyWrap» вместо «клавиатуры списка» в классе asdf и получить ту же функциональность, что и в списке STL ????

Ответы [ 2 ]

0 голосов
/ 24 марта 2011

Ответ на мой первоначальный вопрос: / * Вопрос / / Может ли следующее объявление быть заменено клавиатурой qwertyWrap ??? * / клавиатура списка; или клавиатура qwertyWrap;

Клавиатуру qwertyWrap можно заменить на клавиатуру списка и при этом поддерживать функциональность std :: list. Я также реализовал это решение некоторое время назад.

0 голосов
/ 04 марта 2011

Нет. Список требует больше .Эта ссылка просто указатель.Чтобы быть абсолютно уверенным, вам следует обратиться к официальному стандарту.

...