Содержание
- 2. В С++ дополнительно ввели именованные операторы преобразования типов: Преобразования типов в С++ const_cast ( ) static_cast
- 3. Оператор const_cast, как и следует из его имени, позволяет убрать или добавить константность: Преобразование const_cast ()
- 4. Предположим, что мы хотим в массиве типа A определена функция Get, возвращающая в виде константы i-ый
- 5. Оператор reinterpret_cast предназначен для приведения друг к другу указателей, которые друг от друга не зависят: кроме
- 6. Оператор reinterpret_cast не меняет константности. Оператор reinterpret_cast является жестко машинно-зависимым. Чтобы безопасно его использовать, надо хорошо
- 7. Оператор static_cast предназначен для проведения преобразований между связанными значениями. Связанность проверяется на этапе компиляции, поэтому и
- 8. Числовые типы : Типы, связанные наследованием, а также ссылки и указатели на них: предположим, что классы
- 9. Пользовательские преобразования : Это эквивалентно Следует отметить, что проведение подобных преобразований не всегда безопасно, поскольку при
- 10. Только объявим классы Преобразование static_cast () – пример struct A; struct B; struct D; A *
- 11. RTTI позволяет программам, которые используют указатели или ссылки на базовые классы, выяснять фактические типы объектов производных
- 12. Оператор typeid имеет следующий формат: Оператор typeid #include type_info - структура, позволяющая получить некоторую информацию о
- 13. Действия, которые можно производить с объектами типа type_info: Операции с типом typeinfo Сравнение на равенство ==
- 14. A * a = new C(); type_info ti = typeid(* a); // Передается ссылка на объект
- 15. if (Circle * c = dynamic_cast (a)) { ... // Первая фигура - круг } Преобразование
- 16. #include using namespace std; class B { }; class C : public B { }; class
- 17. #include using namespace std; struct B {virtual void f();}; struct A : public B {}; void
- 18. #include using namespace std; class B {public: virtual void f();}; class D : public B {public:
- 19. Контейнерами называются классы, предназначенные для размещения большого количества индивидуальных элементов. Контейнеры в С++ Множество операций с
- 20. Несмотря на разнообразие внутренней организации контейнерных классов, можно определить группу базовых операций, обеспечивающую общую функциональность контейнеров.
- 21. Контейнерные классы в MFC называются коллекциями. Все коллекции по способу внутренней организации поделены на три вида:
- 22. Классы коллекций, не использующих шаблоны, приведены в таблице: Классы коллекций в MFC
- 23. Классы коллекций с использованием шаблонов, приведены в таблице: Классы коллекций в MFC
- 24. Основные свойства коллекций, определяемые их видом: Классы коллекций в MFC – общие свойства
- 25. Коллекция – пример (начало) #include using namespace std; class vct { int *p; // базовый указатель
- 26. Коллекция – пример vct::vct(int n=10) //-------------------------------- Конструктор { maxsize =n; crt = size=0; p = new
- 27. Коллекция – пример int& vct::get(int i) // -------------------------------- Доступ для чтения { if ( i =size)
- 28. Коллекция – пример int vct::add(int val) //---------------------------------- Пополнение { if (size >= maxsize) { if (maxsize>=10000)
- 29. Коллекция – пример int vct::remove(int i) //-------------------------------- Удаление { if (i size-1) return -1; // Игнорируем
- 30. Коллекция – пример int& vct::next() //------------------- Читать С ПЕРЕХОДОМ НА следующий { if (size==0) { cout
- 31. Коллекция – пример void main() { vct v; int i; for (i=0; i v.remove(5); cout for
- 32. Коллекция – итераторы . . . friend vct_iter; . . . class vct_iter { private: vct*
- 34. Скачать презентацию