Студопедия

КАТЕГОРИИ:


Архитектура-(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() << "."
<< d.GetYear() << endl;

cout << "Текущее время: " << d.GetHour() << ':' << d.GetMinute()
<< ':' << d.GetSecond() << endl;

d+=CTimeSpan(30,0,0,0);

cout << "Через 30 дней: " << d.GetDay() << "." << d.GetMonth()
<< "." << d.GetYear() << endl;

cout << " Текущее время: " << d.GetHour() << ':' << d.GetMinute()

<< ':' << d.GetSecond() << endl;

d-=CTimeSpan(20,0,0,0);

cout << "Раньше на 20 дней: " << d.GetDay() << "." << d.GetMonth()
<< "." << d.GetYear() << endl;

cout << "Текущее время: " << d.GetHour() << ':' << d.GetMinute()
<< ':' << d.GetSecond() << endl;

d=CTime::GetCurrentTime();

cout << "Текущая дата: " << d.GetDay() << "." << d.GetMonth()
<< "." << d.GetYear() << endl;

cout << "Текущее время: " << d.GetHour() << ':' << d.GetMinute()
<< ':' << d.GetSecond() << endl;

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; Просмотров: 331; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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