лекции программирование / polevoy_cpp_2012_spring_lecture_02
.pdfОбъектно-ориентированное программирование
с использованием 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 |