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

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

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

Доступ к членам

. – оператор доступа к члену

-> – оператор разыменования члена структуры (для указателя на экземпляр)

Address myAddress;

Address* pAddress = &myAddress;

myAddress.zip() pAddress->zip() (*pAddress).zip()

18.02.2012

cppNewb.ru

11

Управление доступом

public

открытые члены, имена доступны везде

private

закрытые члены, имена доступны только в

собственных функциях-членах

protected

защищенные члены, имена доступны только в собственных функциях и

функциях-членах производных классов

18.02.2012

cppNewb.ru

12

Определение класса

class ClassName

{

public:

// открытые методы private:

// закрытые методы private:

// закрытые данные

};

18.02.2012

cppNewb.ru

13

Пример (точка)

пример:

class Point

{

public:

// методы private:

int m_x; //< x-координата int m_y; //< y-координата

};

18.02.2012

cppNewb.ru

14

Конструктор

имя функции совпадает с именем класса

не возвращает значений

создает экземпляр (инициализирует)

18.02.2012

cppNewb.ru

15

Конструктор (пример)

пример:

class Point

{

public:

Point(const int x, const int y);

};

18.02.2012

cppNewb.ru

16

Инициализация данных

сконструированный объект д.б. инициализирован

пример:

Point::Point(const int x, const int y)

: m_x(x)

, m_y(y)

{

}

18.02.2012

cppNewb.ru

17

Порядок инициализации

определяется порядком объявления переменных в классе

не зависит от порядка в списке

инициализации

инициализируйте переменные в порядке объявления

18.02.2012

cppNewb.ru

18

Перегрузка функций

использование одного имени для операция с разными типами

пример:

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

double min(const double lhs, const double rhs);

18.02.2012

cppNewb.ru

19

Поиск соответствия (функция)

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

соответствие после “повышения” интегральных типов (bool→int и т.д.)

соответствие после стандартных преобразований типов (int→double и т.д.)

соответствие после пользовательских преобразований типов

соответствие за счет многоточий в

объявлении функции (…)

18.02.2012

cppNewb.ru

20