- •11)Ағымдық кластардың иерархиясы. Файлдық енгізу/шығару.
- •Класстар иерархиясын құру
- •12. Класс шаблондары, қызметі ерекшелігі.
- •Шаблон параметрі ретінде параметре типі, қарапайым параметр типі, шаблон параметрі бола алады.
- •13. Виртуалдық, достық, статикалық қызметтер. This көрсеткіші
- •14.Атаулар кеңістігі, түрлену қызметі, кластың статикалық мүшелері, кластың тұрақты және модификацияланатын мүшелері.
- •15.Тапсырмалардың паралелді орындалуы.
- •16.Fortran программалау тіліндегі операциялар, өрнектер және стандартты функциялар.
- •17.Fortran тіліндегі мәліметтер типі. Мәліметтер инициализациясы.
- •Fortran тіліндегі енгізу/шығару операторларының классификациясы.Атаулы және атаусыз тізіммен басқарылатын енгізу/шығару. Форматталған енгізу/шығару.
- •Енгізілген екі санның суммасын файылға жазатын есептің программасын жазайаық
- •Fortran тіліндегі шартты оператордың құрылысы.
- •1. Арифметикалық
- •2. Логикалық
- •20. Fortran тіліндегі циклді оператордың классификациясы. Параметрмен, алғы шартпен және соңғы шартпен жазылатын циклдер.
- •Бірден n ге дейінгі сандардың суммасын есептеу.
- •Вычисление суммы целых чисел в цикле с предусловием.
- •Fortran тілінде статикалық массивтерді хабарлау және инициализациялау.
- •Fortran тілінде динамикалық массивтерді хабарлау және инициализациялау.
- •24.Fortran тіліндегі сыртқы және ішкі процедуралар.
- •25.Fortran тіліндегі модулдер және олардың қолданылуы
Класстар иерархиясын құру
class work_station : public computer
{ public: work_station (char *operating_system, char *name, int hard_disk, float floppy, char *screen, long colors, int x_res, int y_res, int processor, int speed, int RAM); void show_work_station(void); private: char operating_system[64]; };
Мысал:
class A
{
public:
virtual void f1()=0;
//.....
};
class BB : public A
{
public:
void f1();
};
class СС : public A
{
public:
void f1();
};
class DD : public A
{
public:
void f1();};
class EE : public A
{
bool bsign;
public:
CC objC;
DD ojbD;
void f1(0;};
void EE::f1()
{
if (bsign)
objC.f1();
else
objD.f1();}
12. Класс шаблондары, қызметі ерекшелігі.
Шаблон С++ тілінің жалпылама алгоритмдерді ешқандай жалғаусыз кодттауға арналған құралы. С++ те класс шаблонын жасауға мүмкіндік бар. Шаблондармен параметрлік класстар мен функция жасауға болады. Параметр ретінде кез келген тип бола алады.
Template кілттік сөзіе қолданып және тип символдарымен (Т, T1 и Т2) біздің прогр класс шаблонын жасай алады. Обьект классын шаблон арқ жасау үшін элементтерді жариялау кезінде класс атына сілтеме жасаймыз олар (<int, float >)мынадай жақша ішінде болады әрқасысына компиляторға символ тағайындап оған айнамалысына ат береді , параметр типін және функцияның кері қайтарытын мәнін көрсету керек.
Егер класста біз иницилизациялаған мәліметтер конструкторы болса, оны шақыруға болады . Шаблонды қолдану арқылы шақырамыз class_name<int,float>values(200);.Егер С++ компиляторы обьект шақыруын тапған жағдайда шаблон классын тиісінше тип бойынша жасайды.
Класс шаблоны
template< class T >
class List
{
/* ... */
public:
void Add( const T& Element );
bool Find( const T& Element );
/* ... */
};
Шаблонды қолданатын кезде онын параметрін көрсету қажет
List<int> li;
List<string> ls;
li.Add( 17 );
ls.Add( "Hello!" );
Шаблон параметрі ретінде параметре типі, қарапайым параметр типі, шаблон параметрі бола алады.
template< class T1, // параметр-тип
typename T2, // параметр-тип
int I, // қарапайым тип параметрі
T1 DefaultValue, // қарапайым тип параметрі
template< class > class T3, // параметр-шаблон
class Character = char // параметр по умолчанию
>Массив классын жасаймыз десек, int типті массивімен жұмыс істесек , класс былай болады
Сlass array {
Public:
Array (int size );
Long sum (void);
Int average_value (void);
Void show_array(void); int add_value(int);
private:
int *data;
int size;
int index;
};
13. Виртуалдық, достық, статикалық қызметтер. This көрсеткіші
Базалық класс жаңа атрибуттармен және операциялармен бірге дамиды.Туынды класта әдетте жаңа деректердің мүшелері, ерекшеліктері мен әдістері жарияланады. Достық функция туынды кластың барлық осы сәттегі ішкі кластардың мүшелерінің барлығына мүмкіндік береді.
class className
( 1
public: ~
className(); // Конструктор по умолчанию // Другие конструкторы friend returnType friendFunction(<список параметров>) ;
};
Виртуалды әдіс базалық кластың функцияларын қайта анықтау үшін қолданылады.
jclass classNamel {
// Другие функции-члены
virtual returnType functionName(<список параметров>) ;
};
Статикалық функция Static орындауға рұқсат етілген модификатор негізінде оырндалады. Статикалық әдіс кластың объектісінің жасалуынсыз орындалады.
Бірнеше объектінің класс элеметтерін бірлескен түрде пайлануы үшін әрбір қадамды (шаги) орындауымыз керек.
#include <stdio.h>
class print
{
public:
static void text(const char* string);
};
void print::text(const char* string)
{
printf(string);
}
int main()
{
print::text("Hello world!"); //Используем красивое вложение функции text из print;
}
Алдымен операторларды іске қоспастан бұрын, перегруженных оператордың ингредиенті болып табылатын с++ тіліндегі This кілттік сөзімен танысу керек. This көрсеткіші барлық арқаратын функция-мүшелерінің айқын емес параметрлерімен қызмет етеді. Функция –мүшесін шақырғанда, автоматты түрде көрсеткіш осы сәттегі функция болып табылатын объектке жіберіледі. This пайдалану арқылы сілтеуішке мүмкіндік алуға болады. This көрсеткішін берместен бұрын оны екі жай функцияларға бөліп аламыз: setData() и getData(). Біреуі пайдаланушыға мәліметтерді енгізуге ұсынады, екіншісі сәйкесінше экранға шығарып береді.
#include <iostream>
using namespace std;
void setData(char *s, int &n) //функция для принятия данных
{
cout << "Введите строку: ";
cin.getline(s, 128);
cout << "Введите целое число: ";
cin >> n;
}
void getData(char s[], int n) //отображение данных
{
cout << "\n" << s << n << endl << endl;
}
int main()
{
setlocale(LC_ALL, "rus");
char str[128] = ""; //объявляем и инициализируем переменные для очистки от мусора
int number = 0;
setData(str, number);
//вызов функций system("cls");
//очистка экрана перед выводом данных на экран getData(str, number);
return 0;
}
