проблема с прогой

Вопросы программирования, чего ж еще :)

Модератор: Злобный

проблема с прогой

Сообщение Фенрир Локиевич » Ср дек 17, 2008 21:50

Код: Выделить всё
//---------------------------------------------------------------------------

#pragma hdrstop
#include <iostream.h>
#include <string.h>

class member {
    static member* last_memb;
    member* prev;
    member* next;
    char* word;
    public:
    member (char* word)
    {
    strcpy(this->word, word);
    }
    void add();
    static void reprint();
};
void member:: add()
{
if (last_memb==NULL)
    this->prev=NULL;
else { this->prev=last_memb;
       last_memb->next=this;
}
last_memb=this; this->next=NULL;
}

void member :: reprint(){
member*  p;
p=last_memb;
if(!p)
     {
    cout<<"\nThe list is empty\n";
     return;
     }
else cout<<"List:\n";
    while(p)
    {
    cout<<p->word<<"\t";
    p=p->prev;
    }
}

//---------------------------------------------------------------------------
 member* member::last_memb=NULL;
int main(int argc, char* argv[])
{
    member A("aaa");
    member B("bbb");
    member C("ccc");
    member D("ddd");
    member::reprint();
    A.add(); B.add(); C.add(); D.add();
     member::reprint();
     getchar();
   return 0;
}
//---------------------------------------------------------------------------


проблемы с прогой. При первом вызове member::reprint(); должна оповещать о пустоте списка;
при втором вызове должна выводить слова в списке. Однако не выводит ничего.
Аватара пользователя
Фенрир Локиевич
Продвинутый
 
Сообщения: 481
Зарегистрирован: Пт окт 20, 2006 18:07

Сообщение Злобный » Ср дек 17, 2008 22:47

а дебагером почему воспользоваться не хочешь?
Дураки - не мамонты, они не вымрут.
Аватара пользователя
Злобный
Завсегдатай
 
Сообщения: 2716
Зарегистрирован: Сб июн 18, 2005 21:05

Сообщение Молдафский Кавалерист » Ср дек 17, 2008 23:14

А разве в описании класса - "char* word" должен быть указателем?
Объявляешь "member (char* word)", а вызываешь 'member ("aaa")'. Tак можно?
Ты наверно "синяк", а выложил это просто так...

http://it.kgsu.ru/C_OOP/oop_0012.html
Аватара пользователя
Молдафский Кавалерист
Завсегдатай
 
Сообщения: 2399
Зарегистрирован: Ср июн 25, 2008 22:25

Сообщение Фенрир Локиевич » Ср дек 17, 2008 23:29

и в правду..пить надо меньше спасибо за ссылку)))
тогда конструктор будет иметь вид:
member (char* word)
{ this->word=new char(strlen(word+1));
strcpy(this->word, word);
}
На этом прошу закрыть! Спасибо
Аватара пользователя
Фенрир Локиевич
Продвинутый
 
Сообщения: 481
Зарегистрирован: Пт окт 20, 2006 18:07


Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1