Форум программистов, компьютерный форум CyberForum.ru

Base class undefined - C++

Восстановить пароль Регистрация
 
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
27.09.2011, 13:50     Base class undefined #1
вот четыре класса. по идее должны работать нормально. но выдают ошибку указанную в названии. и ещё что viewlist не найдет идентификатор.
document.h - главный базовый класс. от него наследуется 3 класса.
он содержит в себе указатель на голову списка и в своем конструкторе метод для добавления элементов в связный список.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <string>
#include "NODES.h"
using namespace std;
class Document
{
public:
    Document(string name="");
    ~Document();
    string GetName();
    virtual string GT()=0;
    static void ViewList();
protected:
    static Node *head;
private:
     string name;
    void ADD();
    void DEL();
};
document.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "document.h"
 
#include <iostream>
 
Node *Document::head=0;
 
Document::Document(string name)
{
    this->name=name;
    ADD();
}
 
Document::~Document()
{
    DEL();
}
 
string Document::GetName()
{
    return name;
}
 
void Document::ViewList()
{
    Node *node=head;
    while(node!=0)
    {
       cout<<"Type of doc."<<node->document->GT()<<" |Name:"<<node->document->GetName()<<endl;
        node=node->next;
    }
}
 
void Document::ADD()
{
    Node *newnode=new Node;
    newnode->document=this;
    newnode->next=0;
    if (head==0)
    {
       head=newnode;
       return;
    }
    Node *node=head;
    while(node->next!=0)
    {
       node=node->next;
    }
    node->next=newnode;
}
 
void Document::DEL()
{
    if (head==0)
       return;
    if (head->document==this)
    {
       Node *deleter=head;
       head=deleter->next;
       delete deleter;
       return;
    }
    Node *node=head;
    while((node->next!=0)&&(node->next->document!=this))
    {
       node=node->next;
    }
    Node *deleter=node->next;
    node->next=deleter->next;
    delete deleter;
}
т.к. 4 .h файла и 4.cpp то я просто весь проект приложил.

Не по теме:

там надо считывать значения с формы но я пока этого не делал, т.к. надо вот эти ошибки убрать

Вложения
Тип файла: rar LABS2.rar (3.85 Мб, 15 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2011, 13:50     Base class undefined
Посмотрите здесь:

C++ Напишитефункцию integerPower(base exponent) ,какая возвращает значение base exponent.
C++ Нужно объект типа класс проинициализировать с помощью перегруженного конструктора Class::Class( bool a )
C++ E2251 Cannot find default constructor to initialize base class
enum и class как составляющие другого class C++
error C2504: 'TwoDimentinalShape' : base class undefined C++
vector<[class]> in class и перегрузка (ostream) C++
C++ public class && static class
C++ Не пойму конструкцию template <template <class T> class X>

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 16:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru