Страница 1 из 1

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

Добавлено: Ср дек 17, 2008 20: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(); должна оповещать о пустоте списка;
при втором вызове должна выводить слова в списке. Однако не выводит ничего.

Добавлено: Ср дек 17, 2008 21:47
Злобный
а дебагером почему воспользоваться не хочешь?

Добавлено: Ср дек 17, 2008 22:14
Молдафский Кавалерист
А разве в описании класса - "char* word" должен быть указателем?
Объявляешь "member (char* word)", а вызываешь 'member ("aaa")'. Tак можно?
Ты наверно "синяк", а выложил это просто так...

http://it.kgsu.ru/C_OOP/oop_0012.html

Добавлено: Ср дек 17, 2008 22:29
Фенрир Локиевич
и в правду..пить надо меньше спасибо за ссылку)))
тогда конструктор будет иметь вид:
member (char* word)
{ this->word=new char(strlen(word+1));
strcpy(this->word, word);
}
На этом прошу закрыть! Спасибо