Министерство по развитию информационных технологий и коммуникаций республики узбекистан каршинский филиал ташкентского университета информационных технологий



Download 126,89 Kb.
bet2/4
Sana26.01.2023
Hajmi126,89 Kb.
#903034
1   2   3   4
Bog'liq
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: "<cout<<"Maosh: "<};
};
Этот класс имеет две переменные и один функциональный элемент.
Следующая программа создает два объекта сотрудников. Элементам данных присваиваются значения с помощью оператора точка, а затем информация о чеке сотрудника выводится на экран с помощью элемента show_employee:
#include
using namespace std;
class employee
{
public:
long employee_id;
float salary;
void show_employee(void)
{
cout<<"Nomer: "<cout<<"Maosh: "<};
};
int main()
{
employee worker, boss;
worker.employee_id = 12345;
worker.salary = 25000;
boss.employee_id = 101;
boss.salary = 101101.00;
cout<<"\n"<<"ishchi"<worker.show_employee();
cout<<"\n"<<"boss"<boss.show_employee();
return 0;
}
Определение функции компонента. Функция компонента должна быть определена в теле класса. В отличие от глобальных функций функция компонента может ссылаться на все компоненты класса. Если полное определение функции, а не только ее прототип, находится в теле класса, эта функция считается встроенной функцией. Известно, что встроенные функции не могут использовать циклы, оператор switch. Более того, такие функции не могут быть рекурсивными функциями. Для преодоления этих ограничений в тело класса помещается только прототип функции, а полное определение функции дается вне класса вместе с другими функциями, включенными в программу. Когда функция компонента определена вне класса, указывается, к какому классу она принадлежит, в следующей форме:
Имя-класса :: Имя-функции компонента
Прототип функции компонента помещается в тело класса в следующем виде:
Введите имя-функции (определение-формальных-параметров)
Вне класса функция определяется как:
Введите имя-класса :: имя-функции (спецификация формальных параметров)
{тело функции};
В классе сотрудников в предыдущем примере функция определена внутри класса. Такая функция считается встроенной функцией.
Прототип функции можно разместить внутри класса, определив функцию вне класса. Определение класса в этом случае выглядит так:
class employee
{
public:
long employee_id;
float salary;
void show_employee(void);
};
Поскольку разные функции могут использовать функции с одним и тем же именем, перед именем функции должно стоять имя класса и символ оператора глобального доступа (::).
void employee::show_employee(void)
{
cout<<"Nomer: "<cout<<"Maosh: "<};
Если функция определена вне класса, в определении функции должно быть указано слово встроенный, чтобы рассматривать ее как встроенную функцию.
Следующая программа помещает определение функции 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: "<cout<<"Maosh: "<};

int main()


{
employee worker, boss;
worker.employee_id = 12345;
worker.salary = 25000;
boss.employee_id = 101;
boss.salary = 101101.00;
cout<<"\n"<<"ishchi"<worker.show_employee();
cout<<"\n"<<"boss"<boss.show_employee();
return 0;
}



Download 126,89 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish