Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Программирование для Windows

 

Программирование для Windows - объектно-ориентированное программирование с использованием ранее разработанных библиотек классов для отображения и работы с элементами интерфейса системы Windows: окнами, командными кнопками, меню, списками и т.д. Требует от программиста понимания терминов класс, объект, метод, конструктор, деструктор, указатель, наследование, перекрывание, виртуальность и т.д. Весьма распространенными способами программирования для Windows на языке C++ являются:

 

§ использование библиотеки классов MFC (Microsoft Foundation Classes);

 

// Пример 6.4.6 Простое окно

 

// Заголовочные файлы библиотеки MFC

#include <afxwin.h>

 

//Объявление класса для создания главного окна

class CMainWin: public CFrameWnd {

public:

CMainWin(); // конструктор

};

 

//Объявление класса для создания приложения

class CApp: public CWinApp {

BOOL InitInstance(); // перекрываемая функция

};

// создание окна - конструктор окна

CMainWin:: CMainWin() {

RECT r;

r.top=10; r.left=10; r.bottom=r.right=100;

Create (0,"My first MFC Application",WS_OVERLAPPEDWINDOW,r);

};

// инициализация приложения - перекрываемая функция

BOOL CApp::InitInstance() {

m_pMainWnd = new CMainWin;

m_pMainWnd->ShowWindow(m_nCmdShow);

m_pMainWnd->UpdateWindow();

return TRUE;

}

// создание экземпляра приложения

CApp Application;

 

§ использование средств визуального программирования (Borland C++ Builder);

§ использование средства QT Creator.

 

Практические задания

1. Напишите код для объявления класса “Студент” с такими открытыми членами-данными: возраст, пол, стипендия.

2. Напишите программу, в которой создаются два объекта типа “Студент”. Установите их возраст, пол и стипендию. Распечатайте значения членов-данных объектов на экране.

3. Разработайте методы класса, позволяющие выполнять ввод/вывод всех членов-данных класса “Студент” и проверьте их в главной программе.

4. Напишите несколько конструкторов и деструктор для класса “Студент”.

5. Измените код для объявления класса “Студент”, закрыв в нем члены-данные.

6. Напишите методы доступа к полям класса “Студент”.

7. Напишите программу, в которой создаются два объекта типа “Студент”. Установите их возраст, пол и стипендию с помощью методов доступа. Распечатайте значения отдельных членов-данных объектов на экране, используя методы доступа. Определите и распечатайте средний возраст и суммарную стипендию этих двух студентов.

8. *** Напишите объявление и реализацию закрытого класса для работы с датой, состоящей их трех целых чисел: день, месяц, год. Включите в состав класса конструкторы, деструктор, методы доступа, логические методы для проверки частей даты и определения високосного года, распечатки даты в нескольких форматах (“дд.мм.гг”, “дд/мм/гггг”, “mmm-dd-yyyy”).
Протестируйте этот класс.

Контрольные вопросы

 

 

1. Для чего создают новые типы данных? Что такое класс?

2. Для чего предназначены данные-члены класса?

3. Какую роль играют функции-члены класса?

4. Как объявить класс?

5. Какие существуют соглашение о именах данных-членов?

6. Что такое объект? Как создать объект?

7. Когда происходит выделение памяти – при объявлении класса или создании объекта?

8. Что такое оператор точка и как он используется при работе с объектами?

9. Для чего в объявлении класс используются ключевые слова private и public?

10. Какой уровень доступа по умолчанию?

11. Может ли один класс включать в себя другой класс как член-данное?

12. Каков размер у объектов класса? Как его определить?

13. Для чего в объявлении класс используются ключевые слова private и public?

14. Какой уровень доступа в классах по умолчанию?

15. Как получить доступ к приватным членам-данным?

16. Могут ли функции-члены быть приватными? Могут ли данные члены быть открытыми?

17. Какие существуют способы записи реализации методов класса? Их синтаксис и особенности?

18. Для чего в объявлении метода класса может использоваться ключевое слово const?

19. Почему методы типа set не могут быть константными?

20. Для чего методы типа get рекомендуют делать константными?

21. Для чего предназначены конструкторы и деструкторы? Как их объявить? Как их вызвать?

22. Сколько в классе может быть конструкторов? Деструкторов?

23. Обязательно ли объявлять конструктор и деструктор?

24. Сколько параметров может принимать конструктор? Деструктор?

25. Создаст ли компилятор конструктор по умолчанию, если в классе есть другие конструкторы?

26. Могут ли конструктор и деструктор возвращать результаты оператором return?

27. Какой оператор можно использовать в конструкторах вместо return?

28. Как создать новый объект - копию существующего объекта?

29. Можно ли одному объекту присвоить значение другого?

30. Можно ли выполнять сложение (вычитание, инкрементирование, сравнение) объектов?

 


 

Тема 7: Циклы, выбор вариантов.

<== предыдущая лекция | следующая лекция ==>
План лекции. 2. Библиотеки классов Standard C++ | Использование меток и переходов для организации итераций
Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 1296; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.