Практикум по объектно-ориентированному программированию на базе языка с++ Учебно-методическое пособие


private (закрытый). Такой атрибут не виден никаким другим клас- сам, кроме дружественных. protected



Pdf көрінісі
бет4/44
Дата21.02.2024
өлшемі0.49 Mb.
#492719
түріПрактикум
1   2   3   4   5   6   7   8   9   ...   44
ООП С

private (закрытый). Такой атрибут не виден никаким другим клас-
сам, кроме дружественных.
protected (защищенный). Атрибуты этого раздела доступны только 
самому классу, его потомкам и друзьям (friend).
Можно задавать несколько секций private и public, порядок их сле-
дования значения не имеет. 
Видимостью элементов класса можно также управлять с помощью 
ключевых слов struct и class. Если при описании класса используется 
слово struct, то все поля и методы по умолчанию будут общедоступными 
(public). Если при описании класса используется слово class, то по умол-
чанию все методы и поля класса будут скрытыми (private). 
Свойства атрибутов класса: могут иметь любой тип, кроме типа 
этого же класса (но могут быть указателями на этот класс); могут быть 



описаны с модификатором const, при этом они инициализируются только 
один раз (с помощью конструктора) и не могут изменяться. 
Инициализация атрибутов при описании не допускается. 
Если тело метода определено внутри класса, он является встроен-
ным (inline). Как правило, встроенными делают короткие методы. Если 
внутри класса записано только объявление (заголовок) метода, сам метод 
должен быть определен в другом месте программы с помощью операции 
доступа к области видимости (::). 
Задание. Написать класс Student, который имеет следующую структуру:  
// student.h 
class Student 

 
// элементы–данные 
private: 
char surname [20]; // фамилия 
char group[10]; // группа 
int birth_year; // год рождения 
int marks[5]; // успеваемость по 5 предметам 
 
// элементы-функции 
public: 
Student(); // Конструктор без параметров 
 
// Конструктор с параметрами 
 
Student(char surname, char *group, int birth_year, int *marks);
~Student(); // Деструктор 
// функции доступа 
void get_surname(char *name); // получить значение из поля surname 
// в name 
 
const char * get_surname(); // вернуть значение из поля surname 
 
void get_group(char *gr); // получить значение из поля group в gr 
 
const char * get_group(); // вернуть значение из поля group 
 
int get_year(); // вернуть значение из поля year 
10 
void get_marks(int *mr); // получить значение поля marks в mr 
 
int get_mark(int n); // вернуть оценку n из в массива оценок 
 
void set_surname(char *sn); // установить значение sn поле surname 
 
void set_group(char *gr); // установить значение gr в поле group 
 
void set_year(int b_y); // установить значение b_y в поле birth_year 
 
void set_marks int *mrs); // установить значение из mrs в marks 
 
// другие функции 
double aver_мarks(); // вернуть значение средней оценки из массива 
// marks 
 
void show(); // вывести на печать информацию об отдельном объекте 
 
}; 


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   44




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет