Вопросы по антиквариату BC3.1
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.12.05 03:59
Оценка:
Здравствуйте, уважаемые коллеги!

1) Сделал класс списка, хотел сделать итераторы аля stl, ругается

Borland C++ Version 3.1 Copyright (c) 1992 Borland International
quest.cpp:
Error quest.cpp 84: operator-> must return a pointer or a class in function main()
*** 1 errors in Compile ***

Код такой

#include <stddef.h>

#if defined( __BCPLUSPLUS__ ) && (__BCPLUSPLUS__ <= 0x0310 )
    #define BOOL_TYPE_NOT_SUPPORTED 1
#endif

#ifdef BOOL_TYPE_NOT_SUPPORTED
    typedef int bool;
    enum bool_values { false=0, true=1 };
#endif


template< class T>
class CList
{
    public:

        typedef   T         value_type;
        typedef   size_t    size_type;

//    protected:

        class CListItem
        {
            public:
            typedef       CList<T>::value_type value_type;

            CListItem     *next;
            CListItem     *prev;
            value_type    value;

            CListItem() : next(0), prev(0), value() {};
            CListItem(const value_type &v) : next(0), prev(0), value(v) {};
            CListItem(const CListItem &li) : next(0), prev(0), value(li.value) {};
            CListItem& operator=(const CListItem &li)
                { 
                 if (&li==this) return *this;
                 next = 0;
                 prev = 0;
                 value = li.value;
                 return *this;
                };
        };


        //template <class T>
        class CIterator
        {
            public:
            //typedef CList<value_type>  COwner;
            typedef CList              COwner;
            typedef COwner::CListItem  CItem;
            //typedef COwner::value_type COwnerContainedType;
            typedef T COwnerContainedType;

            COwner            *owner;
            CItem             *item;

            CIterator() : owner(0), item(0) {};
            CIterator( COwner *o, CListItem *i) : owner(o), item(i) {};
            CIterator( const CIterator &i) : owner(i.owner), item(i.item) {};

            // prefix ++
            T * operator->()            {
             return &(item->value);
            }

            T & operator*()
            {
             return item->value;
            }
        };

        typedef CIterator iterator;

    protected:

        CListItem    *first_elem;
        CListItem    *last_elem;

    public:

        CList() : first_elem(0), last_elem(0) {};

};
Маньяк Робокряк колесит по городу
Re: Вопросы по антиквариату BC3.1
От: Radmir Россия  
Дата: 02.12.05 04:42
Оценка:
А зачем?
Ведь stl уже есть контейнер list?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Лучше спросить дорогу чем заблудиться
Re[2]: Вопросы по антиквариату BC3.1
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.12.05 04:59
Оценка:
Здравствуйте, Radmir, Вы писали:

R>А зачем?

R>Ведь stl уже есть контейнер list?

BC 3.1 хоть и был довольно продвинутым компилятором для своего времени, но stl в нем нет. А также нет и полного соответствия нынешнему стандарту. Особенно в части шаблонов. Вот это меня и интересует, как именно на BC 3.1 сделать подобные stl контейнеры. Привык просто, да и удобно
Маньяк Робокряк колесит по городу
Re[3]: Вопросы по антиквариату BC3.1
От: Tonal- Россия www.promsoft.ru
Дата: 02.12.05 05:16
Оценка:
Здравствуйте, Marty, Вы писали:

M>BC 3.1 хоть и был довольно продвинутым компилятором для своего времени, но stl в нем нет. А также нет и полного соответствия нынешнему стандарту. Особенно в части шаблонов. Вот это меня и интересует, как именно на BC 3.1 сделать подобные stl контейнеры. Привык просто, да и удобно

По моему проще компилятор поменять.
Если критичо именно под DOS — есть OpenWatcom.
Если можно экстендеры — Digital Mars, клоны GCC.
Да, в клонах GCC ещё и среда очень похожая на borland-ячию.
Re[4]: Вопросы по антиквариату BC3.1
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.12.05 05:41
Оценка:
Здравствуйте, Tonal-, Вы писали:

T>Здравствуйте, Marty, Вы писали:


M>>BC 3.1 хоть и был довольно продвинутым компилятором для своего времени, но stl в нем нет. А также нет и полного соответствия нынешнему стандарту. Особенно в части шаблонов. Вот это меня и интересует, как именно на BC 3.1 сделать подобные stl контейнеры. Привык просто, да и удобно

T>По моему проще компилятор поменять.
T>Если критичо именно под DOS — есть OpenWatcom.
T>Если можно экстендеры — Digital Mars, клоны GCC.
T>Да, в клонах GCC ещё и среда очень похожая на borland-ячию.
Просто мне курсач на ассемблере надо написать
В результате переговоров с преподом он согласился, что на асме можно написать только работу с писишным железом, а остальное — на C. Ну а я хочу на C++, чтоб жизнь себе по максимуму упростить, ну типа C,C++ — какая нафик разница, все одно )) А на смену среды вряд ли кто пойдет ;-(, препода ж тоже люди, им лень в новом разбираться
Маньяк Робокряк колесит по городу
Re[5]: Вопросы по антиквариату BC3.1
От: Сергей  
Дата: 02.12.05 07:25
Оценка:
Здравствуйте, Marty, Вы писали:

...
M>В результате переговоров с преподом он согласился, что на асме можно написать только работу с писишным железом, а остальное — на C. ...
Так вы насчет языка программирования договорились, или насчет среды, в которой будете делать?
Re[5]: Вопросы по антиквариату BC3.1
От: jossk  
Дата: 02.12.05 13:12
Оценка:
Marty wrote:

> Здравствуйте, Tonal-, Вы писали:

>
> T>Здравствуйте, Marty, Вы писали:
>
> M>>BC 3.1 хоть и был довольно продвинутым компилятором для своего времени, но stl в нем нет. А также нет и полного соответствия нынешнему стандарту. Особенно в части шаблонов. Вот это меня и интересует, как именно на BC 3.1 сделать подобные stl контейнеры. Привык просто, да и удобно
> T>По моему проще компилятор поменять.
> T>Если критичо именно под DOS — есть OpenWatcom.
> T>Если можно экстендеры — Digital Mars, клоны GCC.
> T>Да, в клонах GCC ещё и среда очень похожая на borland-ячию.
> Просто мне курсач на ассемблере надо написать
> В результате переговоров с преподом он согласился, что на асме можно написать только работу с писишным железом, а остальное — на C. Ну а я хочу на C++, чтоб жизнь себе по максимуму упростить, ну типа C,C++ — какая нафик разница, все одно )) А на смену среды вряд ли кто пойдет ;-(, препода ж тоже люди, им лень в новом разбираться
Возьмите Turbo C++ v4.0 Japan for DOS( English тоже есть в IDE)
Он поддерживает шаблоны.
Posted via RSDN NNTP Server 2.0
Re[5]: Вопросы по антиквариату BC3.1
От: volk  
Дата: 04.12.05 03:18
Оценка:
Здравствуйте, Marty, Вы писали:
> А на смену среды вряд ли кто пойдет ;-(, препода ж тоже люди, им лень в новом разбираться

Мда... ВС3.1 -- это сильно...

Извините за оффтоп.

Однажды меня попросили помочь с курсовиком для одной студентки. На вопрос "А на чем писать-то будем?" эта милая девушка сказала "А вот нам тут препод дал какой-то транслятор формул", извлекла из сумочки дискету, вставила ее в дисковод и что-то запустила. Выскочил досовский черный экран, на котором вскоре появилось приглашение следующего содержания:

        ФОРТРАН для ЕС ЭВМ. 
        Версия 1.7,  1987.
Тот, кто желает, но не делает, распространяет чуму.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.