Министерство по развитию информационных технологий и коммуникаций республики узбекистан каршинский филиал ташкентского университета информационных технологий
Download 126.89 Kb.
|
3 Indepent work
Sinf-nomi.ob’ekt-nomi
В программе вы можете обратиться к объектному компоненту следующим образом: Имя-класса.имя-объекта :: имя-компонента или проще Имя объекта. Имя элемента Например: x.real=1.24; x.imag=0.0; dim[3]. Real=0.25; dim[3]. Imag=0.0; На функции, принадлежащие классу, ссылаются следующим образом имя-объекта. имя-функции Например: X. define(0.9) (Bu holda real=0.9 va imag=0.0) X. define(4.3,20.0) (Bu holda kompleks son 4.3+i*20.0) Функция Display выводит на экран значения комплексных чисел. Переменные компонента и функции компонента В качестве переменных компонента класса могут использоваться переменные, массивы, указатели. Инициализация не разрешена, когда элементы определены. Это связано с тем, что для класса не выделяется место в памяти. При обращении к элементам компонента через функции компонента используются только их имена.Вы можете обращаться к элементам объекта, а не к элементам класса, вне класса. Это обращение может быть двух видов. Элементы класса не нужно определять до того, как они будут использованы в функциях класса. Точно так же можно сослаться на вторую функцию без определения решения. Права доступа к компонентам. Доступ к компонентам контролируется с помощью спецификаторов доступа. Эти спецификаторы: Защищенный – защищенный; Частный - частный; Общественный – общий; Защищенные компоненты используются при построении иерархий классов. По умолчанию спецификатор Protected эквивалентен спецификатору Private. Публичные компоненты доступны в любом месте программы. К закрытым компонентам нельзя получить доступ извне класса. Если классы вводятся с помощью ключевого слова Struct, все их компоненты являются общедоступными, но это можно изменить с помощью спецификаторов ссылок. Если класс определен с помощью оператора Class, все его компоненты являются закрытыми. Но это право можно изменить с помощью спецификаторов ссылок. Используя этот спецификатор, классы обычно определяются следующим образом: class class_name { int data_member; // Ma’lumot-element void show_member(int); // Funksiya-element }; После определения класса переменные (объекты) этого типа класса могут быть определены следующим образом: class_name object_one, object_two, object_three; Quyidagi misolda employee, sinfi kiritilgandir: class employee { public: long employee_id; float salary; void show_employee(void) { cout<<"Nomer: "< }; Этот класс имеет две переменные и один функциональный элемент. Следующая программа создает два объекта сотрудников. Элементам данных присваиваются значения с помощью оператора точка, а затем информация о чеке сотрудника выводится на экран с помощью элемента show_employee: #include using namespace std; class employee { public: long employee_id; float salary; void show_employee(void) { cout<<"Nomer: "< }; int main() { employee worker, boss; worker.employee_id = 12345; worker.salary = 25000; boss.employee_id = 101; boss.salary = 101101.00; cout<<"\n"<<"ishchi"< cout<<"\n"<<"boss"< return 0; } Определение функции компонента. Функция компонента должна быть определена в теле класса. В отличие от глобальных функций функция компонента может ссылаться на все компоненты класса. Если полное определение функции, а не только ее прототип, находится в теле класса, эта функция считается встроенной функцией. Известно, что встроенные функции не могут использовать циклы, оператор switch. Более того, такие функции не могут быть рекурсивными функциями. Для преодоления этих ограничений в тело класса помещается только прототип функции, а полное определение функции дается вне класса вместе с другими функциями, включенными в программу. Когда функция компонента определена вне класса, указывается, к какому классу она принадлежит, в следующей форме: Имя-класса :: Имя-функции компонента Прототип функции компонента помещается в тело класса в следующем виде: Введите имя-функции (определение-формальных-параметров) Вне класса функция определяется как: Введите имя-класса :: имя-функции (спецификация формальных параметров) {тело функции}; В классе сотрудников в предыдущем примере функция определена внутри класса. Такая функция считается встроенной функцией. Прототип функции можно разместить внутри класса, определив функцию вне класса. Определение класса в этом случае выглядит так: class employee { public: long employee_id; float salary; void show_employee(void); }; Поскольку разные функции могут использовать функции с одним и тем же именем, перед именем функции должно стоять имя класса и символ оператора глобального доступа (::). void employee::show_employee(void) { cout<<"Nomer: "< Если функция определена вне класса, в определении функции должно быть указано слово встроенный, чтобы рассматривать ее как встроенную функцию. Следующая программа помещает определение функции show_employee вне класса, а встроенное слово отображается явно: #include using namespace std; class employee { public: long employee_id; float salary; void show_employee(void); }; inline void employee::show_employee(void) { cout<<"Nomer: "< int main() { employee worker, boss; worker.employee_id = 12345; worker.salary = 25000; boss.employee_id = 101; boss.salary = 101101.00; cout<<"\n"<<"ishchi"< cout<<"\n"<<"boss"< return 0; } Download 126.89 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling