#include <stdio.h>
#include <conio.h>
#define nn 10
struct node {
node* link;
int el;
node(int i, node* n) {el=i; link=n;}
};
class list {
public:
node* hd;
public:
list(node* n=0) {hd=n;} //constructor
list(list& seq) {hd=seq.hd;} //constructor
void append(int i) { //добавление элемента
hd= new node(i,hd);} //в список
int head() //возвращает элемент
{return hd->el;} //из головы списка
list tail() {
return list(hd->link);} //возвращает хвост списка
int isempty()
{ return hd==0;} //возвращает 1, если список пуст
// Создание списка
void createList(node **hd,int elem[nn]);
// Вывод списка
void outputList(node **hd);
};
Помогите с классами в C
Код:
Я написал под этот интерфейс две функции, но они категорически отказываются работать... Помогите ...
Код:
/* Данная функция создает список */
void list::createList(node **hd,int elem[nn])
{
int i=0;
list s=*hd;
for (;i<nn;i++) append(elem);
}// endfunc
/* Вывод значений списка на экран */
void list::outputList(node **hd)
{
//list s=*phead;
for (list s=*hd; !isempty(s); s=tail(s)) printf(" %d",head(s));
}
void main()
{
node *phead;
int elem[nn]={1,2,3,4,5,6,7,8,9,10};
list A;
A.createList(&phead,elem[nn]);
A.outputList(&phead);
getchar();
} //endfunc
void list::createList(node **hd,int elem[nn])
{
int i=0;
list s=*hd;
for (;i<nn;i++) append(elem);
}// endfunc
/* Вывод значений списка на экран */
void list::outputList(node **hd)
{
//list s=*phead;
for (list s=*hd; !isempty(s); s=tail(s)) printf(" %d",head(s));
}
void main()
{
node *phead;
int elem[nn]={1,2,3,4,5,6,7,8,9,10};
list A;
A.createList(&phead,elem[nn]);
A.outputList(&phead);
getchar();
} //endfunc