КАТЕГОРИИ: Архитектура-(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) |
План лекции. 2. Библиотеки классов Standard C++
1. Библиотеки классов VC++ 2. Библиотеки классов Standard C++ 3. Классы и ООП 4. Программирование для Windows
1. Библиотеки классов VC++
Компилятор Microsoft VC++ имеет в своем составе большой набор классов для создания и работы с объектами типа строка, дата, время, файлами и т.д., называемых библиотекой MFC (Microsoft Foundation Classes).
// Пример 6.4.1 // Объекты типа дата-время из библиотеки MFC #include <iostream> #include <fstream> #define _AFXDLL // заголовки MFC #include <afx.h> #include <afxwin.h> using namespace std; int main() { setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста CTime d(2002,1,14,12,30,45); cout << "Текущая дата: " << d.GetDay() << "." << d.GetMonth() << "." cout << "Текущее время: " << d.GetHour() << ':' << d.GetMinute() d+=CTimeSpan(30,0,0,0); cout << "Через 30 дней: " << d.GetDay() << "." << d.GetMonth() cout << " Текущее время: " << d.GetHour() << ':' << d.GetMinute() << ':' << d.GetSecond() << endl; d-=CTimeSpan(20,0,0,0); cout << "Раньше на 20 дней: " << d.GetDay() << "." << d.GetMonth() cout << "Текущее время: " << d.GetHour() << ':' << d.GetMinute() d=CTime::GetCurrentTime(); cout << "Текущая дата: " << d.GetDay() << "." << d.GetMonth() cout << "Текущее время: " << d.GetHour() << ':' << d.GetMinute() cin.get(); }
// Пример 6.4.2 // Объекты-строки из библиотеки MFC #include <iostream> #include <fstream> #define _AFXDLL // заголовки MFC #include <afx.h> #include <afxwin.h> using namespace std; int main() { setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста CStringA fM="Иванов",iM("Иван"),oM("Иванович"), fioM; CStringA txt1="Длина: ", txt2("Фамилия: "); fM.CharToOemA(); iM.CharToOemA(); oM.CharToOemA(); txt1.CharToOemA(); txt2.CharToOemA(); cout << txt1 << fioM.GetLength() << endl; fioM=fM + ' ' + iM + ' ' + oM; cout << txt2 << fioM << endl; cout << txt1 << fioM.GetLength() << endl; fioM=fM + ' ' + iM[0] + '.' + oM[0] + '.'; cout << txt2 << fioM << endl; cout << txt1 << fioM.GetLength() << endl; fioM.MakeUpper(); cout << txt2 << fioM << endl; fioM.OemToCharA(); cout << txt2 << fioM << endl; fioM="Ivanov I.I."; fioM.MakeUpper(); cout << txt2 << fioM << endl; fioM.MakeLower(); cout << txt2 << fioM << endl; fioM.MakeReverse(); cout << txt2 << fioM << endl; if (fM > oM) cout << "More" << endl; else cout << "Less" << endl; cin.get(); }
// Пример 6.4.3 // // Объекты - точки и прямоугольники из библиотеки MFC #include <iostream> #include <fstream> #define _AFXDLL // заголовки MFC #include <afx.h> #include <afxwin.h> using namespace std; int main() { setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста CPoint p1(100,100), p2(250,300),pc; CRect r(p1,p2); pc=r.CenterPoint(); cout << "Ширина=" << r.Width() << '\t' << "Высота=" << r.Height() << endl; pc=r.CenterPoint(); cout << "X=" << pc.x << '\t' << "Y=" << pc.y << endl; cin.get(); }
2. Библиотеки классов Standard C++
Отличительной чертой Standard C++ является обязательное включение в состав каждого компилятора стандартной библиотеки шаблонов - Standard Template Library (STL), которая содержит большой набор классов для структур данных, строк, потоков ввода-вывода и т.д. Классы именно этой библиотеки рекомендуют использовать в новых разработках.
// Пример 6.4.4 // Объекты-строки из библиотеки STL #include <iostream> #include <string> using namespace std; int main() { setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста // объявление строк string str1("String demonstration"); string str2("String two"); string str3; // присваивание строк str3 = str1; cout << str1 << "\n" << str3 << "\n"; // конкатенация двух строк str3 = str1 + str2; cout << str3 << "\n"; // сравнение строк if(str3 > str1) cout << "str3 > str1\n"; if(str3 == str1+str2) cout << "str3 == str1+str2\n"; // строковому объекту можно присвоить обычную строку str1 = "This is normal string\n"; cout << str1; // создание строкового объекта с помощью другого строкового объекта string str4(str1); cout << str4; cout << "Введите строку: "; // ввод строки cin >> str4; cout << str4; cin.get(); return 0; } // Пример 6.4.5 // Объекты - стандартные файловые потоки ввода-вывода ofstream и ifstream #include <iostream> #include <fstream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста int a=5; double b=1.23456; char str[20]="Hello_VC++"; // вывод в файл на диск ofstream fout("c:\\MyFile.txt"); if (fout.fail()){ cout << "Ошибка!!!" << endl; cin.get(); return 1; } fout << a << '\t' << b << '\t' << str << endl; fout.close(); // ввод из файла на диске a=0; b=0;strcpy(str,""); cout << a << '\t' << b << '\t' << str << endl; cin.get(); ifstream fin("c:\\MyFile.txt"); if (fin.fail()){ cout << "Нет файла!!!" << endl; cin.get(); return 1; } fin >> a >> b >> str; fin.close(); cout << a << '\t' << b << '\t' << str << endl; cin.get(); return 0; }
3. Классы и ООП
Понятие класс и ООП (объектно-ориентированное программирование - методика разработки программ, состоящих из объектов) позволили реализовать, внедрить в жизнь и постоянно дорабатывать огромные по размерам программные проекты, такие как операционная система Windows, пакет Microsoft Office, языки визуального проектирования VB, C#, C++ Builder, QT Creator и т.д. Разработать и сопровождать такие проекты по силам только большим группам программистов. Методами структурного программирования, применяемыми ранее, эти проекты реализовать было просто невозможно.
Дата добавления: 2014-01-03; Просмотров: 354; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |