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

Base class undefined - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Конфликт имени функции в шаблоне http://www.cyberforum.ru/cpp-beginners/thread357047.html
template <class x> x plus(const x &x1, const x &x2) { return x1+x2; } int main(int argc, char *argv, char *env) { system("clear"); int a=10,b=37; std::string s1="111",s2="222"; std::cout<<plus(111,222)<<std::endl;
C++ Как объявить строковую переменную? которой в процессе выполнения программы будут присваиваться разные значения. Вот это: char* a = "VasiaPupkin"компилятор объявляет устаревшим: warning: deprecated conversion from string constant to 'char' http://www.cyberforum.ru/cpp-beginners/thread357044.html
C++ Подсчитать в строке количество символов до точки с запятой и после нее.
Всем доброго времени суток. Прощу прощения, снова нужна ваша помощь. Если кто может помочь буду благодарен. Строки 1. В заданной строке имеется одна точка с запятой ( ; ). Подсчитать количество символов до точки с запятой и после нее. Заранее спасибо. С ув. Ierehon.
C++ Перегрузка оператора +=
Есть два класса: Vec4(вектор из 4х float) и Mat4(вектор из 4х Vec4). Проблема в том что при перегрузке в Mat4 операции += я получаю ошибку компиляции In member function 'Mat4& Mat4::operator+=(Mat4&)': error: no match for 'operator+=' in '((Mat4*)this)->Mat4::elem.std::vector<_Tp, _Alloc>::operator (i) += Mat4::operator(int)(((int)i))'| 33|note: candidates are: Vec4& Vec4::operator+=(Vec4&)|...
C++ условие http://www.cyberforum.ru/cpp-beginners/thread357010.html
Ответ скорее всего прост,но не могу придумать никак #include <stdio.h> #include <conio.h> #include <locale.h> int fact(int n)//в цикле со счётчиком умножают переменную на счетчик, который уменьшается на 1 со значения = число факториал которого находят до 1 { int result=1;
C++ Расчитать значение функии f(x) по соответсвующей формуле. Добрый день, вот моё задание: Составьте алгоритм программы, которая принимает от пользователя значение x и в зависимости от его значения, расчитывет значение функии f(x) по соответсвующей формуле. Проверка того, что функция не определена при введенном значении х, не обязательна. Если введённое число подходит под условие 1, то расчитывается f1 формуле, если под условие 2, то по f2 формуле, если... подробнее

Показать сообщение отдельно
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
27.09.2011, 13:50     Base class undefined
вот четыре класса. по идее должны работать нормально. но выдают ошибку указанную в названии. и ещё что 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 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru