Similar presentations:
Программирование на С++
1.
Бийский технологический институтПрограммирование на С++ в среде
Windows
Сыпин Евгений Викторович, к.т.н., профессор каф. МСИА
1
659305, Россия, Алтайский край, г.Бийск, ул.Трофимова 27, ауд. 301-Б
Тел./факс: (3854) 432 450, e-mail: [email protected], www.msia-bti.ru
2.
Неконтролируемый доступ к даннымГлобальные
данные1
Функция1
2
Глобальные
данные2
Функция2
Функция3
Глобальные
данныеN
ФункцияM
3.
Базовые принципы ООПИнкапсуляция
Наследование
3
Полиморфизм
4.
Типичная структура программы дляООП
Объект
Данные
Метод
Объект
4
Метод
Объект
Данные
Данные
Метод
Метод
Метод
Метод
5.
Класс и экземпляр (аналогия)struct auditoria
{
int nomer;
char korpus;
float ploshad;
};
int main ()
{
auditoria b401;
b401.nomer = 401;
return 0;
}
5
6.
НаследованиеБазовый класс
Свойство1
Свойство2
Свойство1
Свойство2
Свойство3
6
Свойство1
Свойство2
Свойство4
Производные классы
Свойство1
Свойство2
Свойство5
7.
Определение классаclass current // Имя класса – правила
// как для переменных
{
private: //Скрытые функции и данные
int k, n; // спецификатор доступа
// не обязателен
public: // Общедоступные функции и
int get_k() // данные – не обязателен.
{
return k;
}
}; // точка с запятой обязательна!
8.
Работа с классомclass time
{
private:
unsigned char chas, min;
public:
void inctime()
{
min++;
if (min == 60)
{
min=0;
chas++;
if (chas==24)
chas=0;
}
}
};
main ()
{
time time1;
time1.min=20; // Ошибка
time1.inctime();
8
}
9.
Методы класса внутри и вне классаclass time
{
private:
unsigned char chas, min;
public:
void inctime();
};
main ()
{
time time1;
time1.inctime();
}
void time::inctime()
{
min++;
if (min == 60)
{
min=0;
chas++;
if (chas==24)
chas=0;
}
}
9
10.
Конструктор по умолчанию иконструктор без параметров
class time
{
private:
unsigned char chas, min;
public:
time () : chas (12), min(53) {/*Можно использовать*/}
void inctime();
};
main ()
{
time time1;
time1.inctime();
}
10
11.
Конструктор с передачей параметровclass time
{
private:
char chas, min;
public:
time (char ch, char m) : chas (ch), min(m) {}
time (char ch) : chas (ch), min(0) {}
void inctime();
};
main ()
{
time time1 (13, 52), time2 (12);
time1.inctime();
}
11
12.
Конструктор с передачей параметровclass time
{
private:
char chas; int min;
public:
time (char ch, int m) : chas (ch), min(m) {}
time (char ch) : chas (ch), min(0) {}
time (int m) : chas (12), min(m) {}
void inctime();
};
main ()
{
char i=10; int k=25;
time time1 (13, 52), time2 (i), time3 (k);
}
12
13.
Конструктор копирования по умолчаниюclass time
{
private:
char chas, min;
public:
time (char ch, char m) : chas (ch), min(m) {}
void inctime();
};
main ()
{
time time1 (13, 52), time2 (time1), time3 = time1;
}
13
14.
Деструкторclass time
{
private:
char *chas, min;
public:
time () : min(20) {chas=new char;}
void inctime();
};
main ()
{
time time1;
}
14
15.
Деструкторclass time
{
private:
char *chas, min;
public:
time () : min(20) {chas=new char;}
~time () {delete chas;}
void inctime();
};
main ()
{
time time1;
}
15
16.
Бийский технологический институтСПАСИБО ЗА ВНИМАНИЕ!
Сыпин Евгений Викторович, к.т.н., профессор каф.МСИА
16
659305, Россия, Алтайский край, г.Бийск, ул.Трофимова 27, ауд. 301-Б
Тел./факс: (3854) 432 450, e-mail: [email protected], www.msia-bti.ru