Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 24.05.2018
Сообщений: 91

Программа с использованием классов

27.05.2018, 16:33. Показов 5266. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, есть у кого-нибудь в меру простая программа с использованием классов?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.05.2018, 16:33
Ответы с готовыми решениями:

Программа с использованием дружественной функции и классов
Я в С++ новичок. Нужна программа с использованием дружественной функции и классов. Можете привести пожалуйста пару примеров? Заранее...

Программа с использованием дружественных функций и классов. Создайте программу с классом student
19..Разработайте алгоритм и создайте программу с использованием дружественных функций и классов. ЯЗЫК С++ Создайте программу с классом...

На основе указанных классов создать набор классов с использованием множественного наследования
Создать базовый класс «Транспорт» и производные от него классы «Автомобиль», «Поезд», «Самолет». Создать базовый класс «Тип» и производные...

16
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399
27.05.2018, 16:44
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
#include <iostream>
using namespace std;
 
class smallobj
{
private:
    int somedata;
public:
    void setdata(int d)
    {
        somedata = d;
    }
    void showdata()
    {
        cout << "Значение поля равно: " << somedata << endl;
    }
};
 
int main() {
    smallobj s1, s2;
    s1.setdata(1066);
    s2.setdata(1776);
    s1.showdata();
    s2.showdata();
    return 0;
}
0
0 / 0 / 0
Регистрация: 24.05.2018
Сообщений: 91
27.05.2018, 17:02  [ТС]
А есть по сложнее, с выделением логики в отдельный файл и все в этом духе
0
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
27.05.2018, 17:03
New Life, только это плохой пример) потому что к приватной переменной есть доступ как для чтения так и для записи)
0
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399
27.05.2018, 17:05
Ой, ну Вам не угодишь...
Взял первый пример из Лафоре
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,236
27.05.2018, 17:07
А чем Вас не устраивает имеющийся образец:
Образцы (шаблоны) программ для типовых задач
0
0 / 0 / 0
Регистрация: 24.05.2018
Сообщений: 91
27.05.2018, 17:17  [ТС]
Слишком нагружено и не конкретно, есть что-то подобное как описано на этом сайте? codelessons вместо ***
HTML5
1
http://***************/cplusplus/klassy-v-c-rukovodstvo-dlya-nachinayushhix.html
я пробовал копипастить но при компиляции выдавались ошибки
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,236
27.05.2018, 17:21
Цитата Сообщение от SANTA000 Посмотреть сообщение
Слишком нагружен
Как раз там приведен минимум того, что должно быть для создания иерархии классов.
0
0 / 0 / 0
Регистрация: 24.05.2018
Сообщений: 91
27.05.2018, 17:33  [ТС]
O`kay зайдем с другой стороны
есть вот такой код
Main.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
#include <iostream>
#include "Worker.h"
void Worker::discover_avarage_AP () {
  double answer = 0;
 
  for (int i = 0; i < 6; i++) {
    answer += academic_performance[i];
  }
 
  set_avarage_AP(answer);
}
 
void Worker::set_avarage_AP (double score) {
  avarage_AP = score / 6;
}
// set - get функции
double Worker::get_avarage_AP () {
  return avarage_AP;
}
void Worker::set_name(string a) {
  // считываем имя
  name = a;
}
void Worker::set_academic_performance (vector v) {
  // заполняем 6 месячную успеваемость
  for (int i = 0; i < 6; i++) {
      academic_performance[i] = v[i];
  }
}
string Worker::get_name () {
  // выводим имя
  return name;
}
worker.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Worker {
  public:
    // высчитывание среднего балла
    void discover_avarage_AP ();
    void set_avarage_AP (double score);
    // вывод средней успеваемости
    double get_avarage_AP ();
    // получение и вывод имени
    void set_name(string a);
    string get_name ();
    // получение баллов за шесть месяцев
    void set_academic_performance (vector v);
  private:
    // средняя успеваемость
    int avarage_AP;
    string name; // имя
    // успеваемость за 6 месяцев
    int academic_performance[6];
}
при компиляции миллион ошибок
есть похожий вариант только без ошибок или можете поправить ?
0
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
27.05.2018, 17:36
SANTA000, а какие ошибки?
0
0 / 0 / 0
Регистрация: 24.05.2018
Сообщений: 91
27.05.2018, 17:40  [ТС]
2 0 \main.cpp In file included from F:\section\c++\main.cpp
9 19 \Worker.h [Error] 'string' has not been declared
10 5 \Worker.h [Error] 'string' does not name a type
12 36 \Worker.h [Error] 'vector' has not been declared
16 5 \Worker.h [Error] 'string' does not name a type
20 23 \main.cpp [Error] variable or field 'set_name' declared void
20 23 \main.cpp [Error] 'string' was not declared in this scope
20 23 \main.cpp [Note] suggested alternative:
65 33 c:\program files\dev-cpp\mingw64\lib\gcc\x86_64-w64-mingw32\4.7.1\include\c++\bits\stringfwd .h [Note] 'std::string'
24 40 \main.cpp [Error] variable or field 'set_academic_performance' declared void
24 40 \main.cpp [Error] 'vector' was not declared in this scope
0
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
27.05.2018, 17:47
в worker добавь
#include <string>
#include <vector>
и замени string на std::string
и vector на std::vector<T> и укажи вместо T тип элементов вектора
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,236
27.05.2018, 17:56
worker.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <string>
using namespace std;
class Worker {
public:
    // высчитывание среднего балла
    void discover_avarage_AP ();
    void set_avarage_AP (double score);
    // вывод средней успеваемости
    double get_avarage_AP ();
    // получение и вывод имени
    void set_name(string a);
    string get_name ();
    // получение баллов за шесть месяцев
    void set_academic_performance (int* v);
private:
    // средняя успеваемость
    int avarage_AP;
    string name; // имя
    // успеваемость за 6 месяцев
    int academic_performance[6];
};     //   отсутствовала точка с запятой !!!!!!!!!!!!!!!!!!!!!!
worker.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
#include "Worker.h"
void Worker::discover_avarage_AP () {
    double answer = 0;
 
    for (int i = 0; i < 6; i++) {
        answer += academic_performance[i];
    }
 
    set_avarage_AP(answer);
}
 
void Worker::set_avarage_AP (double score) {
    avarage_AP = int(score / 6.);
}
// set - get функции
double Worker::get_avarage_AP () {
    return avarage_AP;
}
void Worker::set_name(string a) {
    // считываем имя
    name = a;
}
void Worker::set_academic_performance (int* v) {
    // заполняем 6 месячную успеваемость
    for (int i = 0; i < 6; i++) {
        academic_performance[i] = v[i];
    }
}
string Worker::get_name () {
    // выводим имя
    return name;
}
0
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
27.05.2018, 17:59
Цитата Сообщение от zss Посмотреть сообщение
using namespace std;
в заголовочный файл лучше не помещать пространство имён std)
0
0 / 0 / 0
Регистрация: 24.05.2018
Сообщений: 91
27.05.2018, 18:41  [ТС]
1 0 F:\worker.cpp In file included from F:\worker.cpp
1 1 F:\Worker.h [Error] 'include' does not name a type
11 19 F:\Worker.h [Error] 'string' has not been declared
12 5 F:\Worker.h [Error] 'string' in namespace 'std' does not name a type
18 5 F:\Worker.h [Error] 'string' in namespace 'std' does not name a type
2 1 F:\worker.cpp [Error] expected ']' before 'void'
32 1 F:\worker.cpp [Error] expected '}' at end of input
32 1 F:\worker.cpp [Error] expected unqualified-id at end of input

вот такие ошибки

21 строчка worker.h (};// ; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!) что означает ; и !!!!!!!!! после комментария?

Добавлено через 11 минут
1 18 F:\Worker.h [Error] string: No such file or directory
2 1 F:\worker.cpp [Error] expected ']' before 'void'
32 2 F:\worker.cpp [Error] expected '}' at end of input
32 2 F:\worker.cpp [Error] expected unqualified-id at end of input
остались эти
0
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
27.05.2018, 18:48
SANTA000, это значит что ты скопировал ненужную строку)
то что после // - коментарий

Добавлено через 3 минуты
ты перед include поставил #?
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,236
27.05.2018, 20:27
Цитата Сообщение от SANTA000 Посмотреть сообщение
что означает ; и !!!!!!!!! после комментария?
Это я пытался обратить внимание на грубую ошибку - описание класса должно заканчиваться точкой с запятой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2018, 20:27
Помогаю со студенческими работами здесь

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

Программа с использованием классов
Помогите пожалуйста с лабораторной работой в институте! Вот она: Написать программу, позволяющую получать решение дифференциальных...

Программа с использованием Классов на движение.
Здравствуйте, я хочу спросить у Вас совета по написанию определённой программы. Вот описание: Есть рамка, в пределах формы, есть 4-6 шаров...

Программирование с использованием классов.
Помогите решить. Создать класс квадрат, член класса - длина стороны. Предусмотреть в классе методы вычисления и вывода сведений о...

Трабл с использованием классов.
Всем привет=)С усердием изучаю С++ и наступил на первые грабли) Не могу сделать более гибкой систему добавления сотрудников.В частности...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru