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

Создать класс STUDENT

04.03.2023, 23:18. Показов 1181. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто сможет помочь с этим?

Составьте программу на языке С++ (согласно варианту) для решения следующей задачи, в
программе использовать закрытые члены класса, констукотры, диструторы, гетеры,
сетеры и методы для ввода и вывода информации. Программу оформить в
отчете.

Вариант 1.

Создать класс STUDENT, содержащий следующие поля:

- Name – Фамилия и инициалы;

- Year – год рождения:

- Bal – оценки по 4 предметам (массив из 4 элементов)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.03.2023, 23:18
Ответы с готовыми решениями:

Создать класс student, который использует файл student.txt
Доброе время суток. Тащемта задача такова: Нужно создать класс student, который использует файл student.txt(содержит в себе список...

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ...
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Создать класс STUDENT
Создать класс STUDENT, содержащий поля: фамилию и инициалы; год рождения; оценки по 4 предметам (массив по 4 элементам). Написать...

5
0 / 0 / 0
Регистрация: 28.02.2023
Сообщений: 3
06.03.2023, 18:59  [ТС]
Кто сможет помочь с этим?

Составьте программу на языке С++ (согласно варианту) для решения следующей задачи, в
программе использовать закрытые члены класса, констукотры, диструторы, гетеры,
сетеры и методы для ввода и вывода информации. Программу оформить в
отчете.



Создать класс STUDENT, содержащий следующие поля:

- Name – Фамилия и инициалы;

- Year – год рождения:

- Bal – оценки по 4 предметам (массив из 4 элементов)
0
Злостный нарушитель
 Аватар для Verevkin
10359 / 5774 / 1274
Регистрация: 12.03.2015
Сообщений: 26,686
06.03.2023, 19:29
Цитата Сообщение от Kabak5585 Посмотреть сообщение
содержащий поле: Name Year Bal
Чо?
Может мир, дверь, мяч?
------
Что именно не получается?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6224 / 2925 / 1046
Регистрация: 01.06.2021
Сообщений: 10,824
06.03.2023, 22:32
Kabak5585, вот, начало
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
class Student
{
private:
    std::string m_name;
public:
    Student()
    {
        m_name = "Meow";
    }
    Student(std::string name)
    {
        m_name = name;
    }
    ~Student()
    {
        
    }
    void setName(std::string name)
    {
        m_name = name;
    }
    std::string getName()
    {
        return m_name;
    }
};
0
 Аватар для Юля_программист
682 / 192 / 60
Регистрация: 04.05.2012
Сообщений: 886
Записей в блоге: 1
07.03.2023, 17:40
Лучший ответ Сообщение было отмечено Kabak5585 как решение

Решение

Kabak5585, Попробуем разобраться.

Общая стурктура определения класса на языке С++:

C++
1
2
3
class Название_класса{
   //поля и методы класса
};
У Вас в задании три поля, давайте подумаем какими типами сделать эти поля
Для года возьмем беззнаковый целочисленный тип, т.к. год не может быть отрицательным, получим

C++
1
2
3
class Название_класса{
   unsigned int year=0;
};
Фамилия и имя это длинная строка, поэтому подойдет строковый тип, добавим в определение класса

C++
1
2
3
4
class Название_класса{
   unsigned int year=0;
   string  fio="";
};
И последнее поле это массив чисел с оценкой, т.к. это все таки С++ будем использовать vector c беззнаковым целым числом

C++
1
2
3
4
5
class Название_класса{
   unsigned int year=0;
   string  fio="";
   vector<unsigned int> listMark={};
};
Мы набросали скелет нашего класса. В задании нам сказано добавить закрытые члены класса.
Для этого нам понадобиться служебное слово private. Добавим его в наш класс:
C++
1
2
3
4
5
6
7
class Название_класса{
 
private:
   unsigned int year=0;
   string  fio="";
   vector<unsigned int> listMark={};
};
Таким образом мы получили три закрытых поля класс.

Следующие в задание это конструктор и деструктор.
Начнем с контруктора. Это функция которая создает обьект класс при этом не имеет возвращаемого значение и ее имя совпадаем с название класса.

C++
1
2
3
4
5
6
7
class Название_класса{
    Название_класса();
private:
   unsigned int year=0;
   string  fio="";
   vector<unsigned int> listMark={};
};
Добавим еще один конструктор с параметрами

C++
1
2
3
4
5
6
7
8
9
10
11
12
class Название_класса{
    Название_класса();
    Название_класса(unsigned int y, string f, vector<unsigned int> list){
      year = y;
      fio = f;
      listMark = list;
   }
private:
   unsigned int year=0;
   string  fio="";
   vector<unsigned int> listMark={};
};
Деструктор. Функция которая уничтожает обьект. Определяется аналогично контруктору, только перед название ставим знак тильда.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class Название_класса{
    Название_класса();
    Название_класса(unsigned int y, string f, vector<unsigned int> list){
      year = y;
      fio = f;
      listMark = list;
   }
    ~Название_класса();
private:
   unsigned int year=0;
   string  fio="";
   vector<unsigned int> listMark={};
};
Теперь надо добавить гетеры,сетеры. То есть функции благодаря которым мы сможем получить и установить значения наших закрытых переменных. Теперь нам надо еще добавить служебное слово public чтобы нашими геттерами и сеттерами можно было пользоваться вне класса.
Геттер - это функция которая вернет значение нужного нам поля. Для простоты и удобства чтения кода структура такая:

C++
1
тип_поля getНазвание_поля(){return Название_поля;}
Сеттер - это функция, которая имеет аргумент который будет присвоен полю класса. Опять же для простоты и читабельности кода структура будет такая:

C++
1
2
3
void setНазвание_поля(тип_поля название_аргумента){
   название_поля = название_аргумента;
}
Добавим в наш класс геттер и сеттер для поля год:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Название_класса{
public:
    Название_класса();
    Название_класса(unsigned int y, string f, vector<unsigned int> list){
      year = y;
      fio = f;
      listMark = list;
   }
   ~Название_класса();
   unsigned int getYear(){return year;}
   void  setYear(unsigned int  _y){year = _y;}
 
   
private:
   unsigned int year=0;
   string  fio="";
   vector<unsigned int> listMark={};
};
Остальные геттеры и сеттеры добавляются аналогично.
И добавим метод который выведет все поля нашего класса:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Название_класса{
public:
    Название_класса();
    Название_класса(unsigned int y, string f, vector<unsigned int> list){
      year = y;
      fio = f;
      listMark = list;
   }
    ~Название_класса();
   unsigned int getYear(){return year;}
   void  setYear(unsigned int  _y){year = _y;}
   
private:
   unsigned int year=0;
   string  fio="";
   vector<unsigned int> listMark={};
};

Собственно на этом и все.
3
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6224 / 2925 / 1046
Регистрация: 01.06.2021
Сообщений: 10,824
07.03.2023, 19:19
Юля_программист, только я бы не советовал вообще использовать unsigned для года. Лучше юзать знаковый тип с проверкой на корректность в сеттере.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.03.2023, 19:19
Помогаю со студенческими работами здесь

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

Создать класс «Student»
Создать программу использующую класс «Student», описывающую студента. В программе у студента предусмотренные следующие атрибуты: ФИО, год...

Создать класс student
Создайте программу с классом student, который включает в себя данные о студентах, же¬лающих получить места в общежитии. Общежитие в первую...

Создать класс Student. И реализировать элементы функции
Создать класс Student. Класс имеет атрибуты name(имя), surname(фамилия), patronymic(отчество), yearBirth(год рождения), kurs(курс), ...

Создать базовый класс Human и производные классы Student и Teacher
ДАНО 1. Создайте класс Human со свойствами: a. ID b. Name c. Surname d. Age e. Address Для свойств класса используется...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru