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

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

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

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

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

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

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