Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лекции программирование / polevoy_cpp_2012_spring_lecture_02

.pdf
Скачиваний:
26
Добавлен:
20.04.2015
Размер:
101.19 Кб
Скачать

Объектно-ориентированное программирование

с использованием C++

Полевой Дмитрий Валерьевич к.т.н., доцент КиК

e-mail: oop.misis@gmail.com

Ссылка (reference)

альтернативное имя переменной

инициализируется при объявлении

пример:

T var(0);

T& ref(var);

18.02.2012

cppNewb.ru

2

Объявление функции

тип возвращаемого значения

имя функции

список аргументов

тип

имя

пример:

int swap(const int lhs, const int rhs);

18.02.2012

cppNewb.ru

3

Определение функции

объявление в котором присутствует тело

типы аргументов объявления и определения должны совпадать

рекомендуется поддерживать соответствие имен аргументов (могут не совпадать)

18.02.2012

cppNewb.ru

4

Определение функции

пример:

int min(const int lhs, const int rhs)

{

return (lhs < rhs )? lhs: rhs;

}

int maxTr(const int lhs, const int rhs, cosnt int)

{

return (lhs > rhs )? lhs: rhs;

}

18.02.2012

cppNewb.ru

5

Передача аргументов

по значению

по ссылке

* через указатель (по значению)

пример:

int min(int lhs, int rhs)

{

return (lhs < rhs )? lhs: rhs;

}

18.02.2012

cppNewb.ru

6

Аргумент ссылка

пример:

void swap(int& lhs, int& rhs)

{

int newLhs(rhs); rhs = lhs;

lhs = newLhs;

}

18.02.2012

cppNewb.ru

7

Возвращаемое значение

задается инструкцией return

должно быть, если не void

неименованная временная переменная

пример:

void empty()

{

return;

}

18.02.2012

пример:

int empty()

{

 

int res(0);

 

// …

 

return res;

}

8

cppNewb.ru

Терминология (класс, экземпляр)

класс – пользовательский тип

экземпляр – объект (область памяти)

18.02.2012

cppNewb.ru

9

Данные и методы

данные – переменные

методы – функции

18.02.2012

cppNewb.ru

10