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

Исправить ошибку undefined reference to (Дейтелы, классы) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переопределение оператора () для своего класса http://www.cyberforum.ru/cpp-beginners/thread1619164.html
У меня вопрос. Как переопределить оператор () для своего класса?Если можно,приведите пример.
C++ Разработка простейшей анимации Есть траектория движения фигуры и есть сама фигура, в данном случае это прямоугольник и квадрат. Входными данными для квадрата должна быть сторона а, для траектории прямоугольника стороны а и b. У меня есть готовый код написан по примеру движения круга по пятиугольника ----> Дилемма заключается в том, что квадрат не движется как должен, а просто с одинаковым периодом бывает то в... http://www.cyberforum.ru/cpp-beginners/thread1619162.html
C++ Создать класс прямоугольных треугольников заданых своими катетами
Создать класс прямоугольных треугольников заданых своими катетами. Создать методы, возвращающие значения площади треугольника, его гипотенузы и сравнивают величины их площадей. C++
Тема-обсуждение для "Алгоритмов сортировок" C++
Сообщения выделены из закреплённой темы: http://www.cyberforum.ru/cpp-beginners/thread27084.html #include <iostream> #include <fstream> #include <stdlib.h> #include <ctime> #include <queue> using namespace std;
Visual C++ Нарисовать круг при клике MFC http://www.cyberforum.ru/cpp-beginners/thread1619121.html
Хай. Нужно при клике правой кнопкой мыши нарисовать хотя бы что-то (например функцию OnPaint). Сейчас оно рисует сразу при запуске. Подскажите как это реализовать. Спасибо. #include <afxwin.h> #include <string> int num = 0; class CMyMainWnd : public CFrameWnd { public: CMyMainWnd() { // конструктор Create(NULL, L"My title");
C++ Задание по сумме элементов строк массива #include "stdafx.h" #include <iostream> #include <iomanip> using namespace std; int _tmain(int argc, _TCHAR* argv) { int masC; int masV; подробнее

Показать сообщение отдельно
Liss29
 Аватар для Liss29
20 / 9 / 2
Регистрация: 18.11.2012
Сообщений: 415
Завершенные тесты: 1
19.04.2016, 03:25     Исправить ошибку undefined reference to (Дейтелы, классы)
Тоже самое, правда, в главе 7 массивы. Почему-то не хочет компилироваться и всё тут, куча ошибок, если точнее 41 и 2 предупреждения.
Кликните здесь для просмотра всего текста
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
//Рис. 7.16: GradeBook4.h 
//Определение класса GradeBook, использующего массив для хранения оценок. Элемент-функции определяются в GradeBook.cpp
#include <string> //программа использует стандартный класс string 
 
//Определение класса GradeBook
class GradeBook
{
    public:
    //константа - число студентов сдавших экзамен
    const static int students = 10; //на эту строку грешит и ругается.
    
    //конструктор инициализирует название курса и массив оценок
    GradeBook(string, const int[]);
    
    void setCourseName(); //устанавливает название курса
    string getCourseName(); //извлекает название курса
    void displayMessage(); //вывести приветственное сообщение
    void processGrades(); //различные действия над оценками
    int getMinimum(); //найти минимальную оценку за конрольную
    int getMaximum(); //найти максимальную оценку за контрольную
    double getAverage(); //определить среднюю оценку за контрольную 
    void outputBarChart(); //вывести диаграмму распределения оценок
    void outputGrades(); //вывести содержимое массива оценок
    
    private:
    string courseName; //название курса для данного GradeBook
    int grades[student]; //массив оценок студентов
}; //конец класса GradeBook


Кликните здесь для просмотра всего текста
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
//Рис. 7.17: GradeBook4.cpp 
//Определение элеметн-функций класса GradeBook, использующего массив для хранения оценок студентов
#include <iostream>
#include <iomanip>
#include "GradeBook4.h" //определение класса GradeBook
 
//конструктор инициализирует название курса и массив оценок
GradeBook::GradeBook(string name, const int gradesArray[])
{
    setCourseName(name); //инициализировать courseName
    
    //копировать оценки из gradeArray в элемент данных grades
    for(int grade = 0; grade < student; grade++)
        grades[grade] = gradesArray[grade];
}
 
//функция для установки названия курса
void GradeBook::setCourseName(string name)
{
    courseName = name; 
}
 
//функция для извлечения названия курса
string GradeBook::getCourseName()
{
    return courseName;
}
 
//вывести сообщение-приветствие пользователю GradeBook
void GradeBook::displayMessage()
{
    //этот оператор вызывает getCourseName, чтобы получить название курса, представленного данным GradeBook 
    cout << "Welcome to the grade book for\n" << setCourseName()
         << "!" << endl;
}
 
//произвести над данными различные операции
void GradeBook:: processGrades()
{
    //вывести массив оценок
    outputGrades();
    
    //вызвать функция getAverage для вычисления средней оценки
    cout << "\nClass average is " << setprecision(2) << fixed
         << getAverage() << endl;
         
    //вызвать функции getMinimum и getMaximum
    cout << "Lowest grade is " << getMinimum()
         << "\nHighest grade is " << getMaximum() << endl;
         
    //вызвать outputBarChart для печати диаграммы распределения
    outputBarChart();
}
 
//найти минимальную оценку
int GradeBook::getMinimum()
{
    int lowGrade = 100; //принять низшую оценку равной 100
    
    //цикл по массиву grades
    for(int grade = 0; grade < students; grade++)
    {
        //если текущая оценка меньше lowGrade, присвоить её lowGrade
        if(grades[grade] < lowGrade)
            lowGrade = grades[grade]; //новая низшая оценка 
    }
    return lowGrade; //возвратить низшую оценку 
}
 
//найти максимальную оценку
int GradeBook::getMaximum()
{
    int highGrade = 0; //принять высшую оценку равной 0
    
    //цикл по массиву grades
    for(int grade = 0; grade < students; grade++)
    {
        //если текущая оценка выше highGrade, присвоить её highGrade
        if(grades[grade] > highGrade)
            highGrade = grades[grade]; //новая высшая оценка 
    }
    return highGrade; //возвратить высшую оценку 
}
 
//определить среднюю оценку за экзамен
double GradeBook::getAverage()
{
    int total = 0; //инициализировать сумму
    
    //суммировать оценки в массиве
    for(int grade = 0; grade < students; grade++)
        total += grades[grade];
        
        //возвратить среднее для оценок
    return static_cast< double >(total) / students;
}
 
//вызвать столбцовую диаграмму, покзывающую распределение оценок
void GradeBook::outputBarChart()
{
    cout << "\nGrade distribution:" << endl;
    
    //хранить частоты для каждого из диапазонов по 10 оценок 
    const int frequencySize = 11;
    int frequency[frequencySize] = { 0 };
    
    //для каждой оценки увеличить соответствующую частоту
    for(int grade = 0; grade < students; grade++)
        frequency[grades[grade] / 10]++;
    
    //для каждой частоты вывести столбец диаграммы
    for(int count = 0; count < frequencySize; count++)
    {
        //вывести метки столбцов("0-9:", ..., "90-99:", "100:")
        if(count == 0)
            cout << "  0-9: ";
        else if(count == 100)
            cout << "  100: ";
        else
            cout << count * 10 << "-" << (count * 10) + 9 << ": ";
        
        //напечатать столбец звёздочек
        for(int stars = 0; stars < frequency[count]; stars++)
            cout << '*';
        
        cout << endl; //напечатать новую строку выводв
    }
}
 
//вывести содержимое массива оценок
void GradeBook::outputGrades()
{
    cout << "\nThe grades are:\n\n";
    
    //вывести оценку каждого студента
    for(int student = 0; student < students; student++)
        cout << "Student " << setw(2) << student + 1 << ": "
             << setw(3) << grades[student] << endl;
}


Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Рис. 7.18: fig07_18.cpp
//Создаёт объект GradeBook, используя массив оценок
 
#include "GradeBook4.h" //определения класса GradeBook
using namespace std;
int main()
{
    //массив оценок студентов
    int gradesArray[GradeBook::students] = { 87, 68, 94, 100, 83, 78, 85, 91, 76, 87 };
    
    GradeBook myGradeBook("CS101 Intproduction to C++ Progrmming", gradesArray);
    myGradeBook.displayMessage();
    myGradeBook.processGrades();
    return 0;
}


Вот список ошибок:
Кликните здесь для просмотра всего текста
fig07_18.cpp
d:\мои документы\project\gradebook4\gradebook4.h(10) : error C2258: illegal pure syntax, must be '= 0'
d:\мои документы\project\gradebook4\gradebook4.h(10) : error C2252: 'students' : pure specifier can only be specified for functions
d:\мои документы\project\gradebook4\gradebook4.h(13) : error C2629: unexpected 'class GradeBook ('
d:\мои документы\project\gradebook4\gradebook4.h(13) : error C2238: unexpected token(s) preceding ';'
d:\мои документы\project\gradebook4\gradebook4.h(16) : error C2146: syntax error : missing ';' before identifier 'getCourseName'
d:\мои документы\project\gradebook4\gradebook4.h(16) : error C2501: 'string' : missing storage-class or type specifiers
d:\мои документы\project\gradebook4\gradebook4.h(26) : error C2146: syntax error : missing ';' before identifier 'courseName'
d:\мои документы\project\gradebook4\gradebook4.h(26) : error C2501: 'string' : missing storage-class or type specifiers
d:\мои документы\project\gradebook4\gradebook4.h(26) : error C2501: 'courseName' : missing storage-class or type specifiers
d:\мои документы\project\gradebook4\gradebook4.h(27) : error C2065: 'students' : undeclared identifier
d:\мои документы\project\gradebook4\gradebook4.h(27) : error C2057: expected constant expression
d:\мои документы\project\gradebook4\gradebook4.h(27) : warning C4200: nonstandard extension used : zero-sized array in struct/union
d:\мои документы\project\gradebook4\fig07_18.cpp(9) : error C2039: 'students' : is not a member of 'GradeBook'
d:\мои документы\project\gradebook4\gradebook4.h(7) : see declaration of 'GradeBook'
d:\мои документы\project\gradebook4\fig07_18.cpp(9) : error C2057: expected constant expression
d:\мои документы\project\gradebook4\fig07_18.cpp(9) : error C2466: cannot allocate an array of constant size 0
d:\мои документы\project\gradebook4\fig07_18.cpp(11) : error C2661: 'GradeBook::GradeBook' : no overloaded function takes 2 parameters
GradeBook4.cpp
d:\мои документы\project\gradebook4\gradebook4.h(10) : error C2258: illegal pure syntax, must be '= 0'
d:\мои документы\project\gradebook4\gradebook4.h(10) : error C2252: 'students' : pure specifier can only be specified for functions
d:\мои документы\project\gradebook4\gradebook4.h(13) : error C2629: unexpected 'class GradeBook ('
d:\мои документы\project\gradebook4\gradebook4.h(13) : error C2238: unexpected token(s) preceding ';'
d:\мои документы\project\gradebook4\gradebook4.h(16) : error C2146: syntax error : missing ';' before identifier 'getCourseName'
d:\мои документы\project\gradebook4\gradebook4.h(16) : error C2501: 'string' : missing storage-class or type specifiers
d:\мои документы\project\gradebook4\gradebook4.h(26) : error C2146: syntax error : missing ';' before identifier 'courseName'
d:\мои документы\project\gradebook4\gradebook4.h(26) : error C2501: 'string' : missing storage-class or type specifiers
d:\мои документы\project\gradebook4\gradebook4.h(26) : error C2501: 'courseName' : missing storage-class or type specifiers
d:\мои документы\project\gradebook4\gradebook4.h(27) : error C2065: 'students' : undeclared identifier
d:\мои документы\project\gradebook4\gradebook4.h(27) : error C2057: expected constant expression
d:\мои документы\project\gradebook4\gradebook4.h(27) : warning C4200: nonstandard extension used : zero-sized array in struct/union
d:\мои документы\project\gradebook4\gradebook4.cpp(8) : error C2065: 'string' : undeclared identifier
d:\мои документы\project\gradebook4\gradebook4.cpp(8) : error C2146: syntax error : missing ')' before identifier 'name'
d:\мои документы\project\gradebook4\gradebook4.cpp(8) : error C2350: 'GradeBook::GradeBook::GradeBook' is not a static member
d:\мои документы\project\gradebook4\gradebook4.cpp(8) : error C2059: syntax error : ')'
d:\мои документы\project\gradebook4\gradebook4.cpp(9) : error C2143: syntax error : missing ';' before '{'
d:\мои документы\project\gradebook4\gradebook4.cpp(9) : error C2447: missing function header (old-style formal list?)
d:\мои документы\project\gradebook4\gradebook4.cpp(18) : error C2146: syntax error : missing ')' before identifier 'name'
d:\мои документы\project\gradebook4\gradebook4.cpp(18) : error C2182: 'setCourseName' : illegal use of type 'void'
d:\мои документы\project\gradebook4\gradebook4.cpp(18) : error C2350: 'GradeBook::setCourseName' is not a static member
d:\мои документы\project\gradebook4\gradebook4.cpp(18) : error C2059: syntax error : ')'
d:\мои документы\project\gradebook4\gradebook4.cpp(19) : error C2143: syntax error : missing ';' before '{'
d:\мои документы\project\gradebook4\gradebook4.cpp(19) : error C2447: missing function header (old-style formal list?)
d:\мои документы\project\gradebook4\gradebook4.cpp(24) : error C2143: syntax error : missing ';' before 'tag::id'
d:\мои документы\project\gradebook4\gradebook4.cpp(24) : error C2501: 'string' : missing storage-class or
 
Текущее время: 01:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru