Простые и структурные классы MFC в вычислениях
Структуру библиотеки классов лучше начинать с раздела Developer product/Visual C++/Microsoft Foundation Class Reference/Class Library Reference/Class Library Overview/ About the Microsoft Foundation Classes, где выполнена разбивка классов на категории и представлена диаграмма категорий.
Две из категорий представляют простые и структурные типы данных:
- Simple Data Type Classes
- Array, List, Map classes
Классы простых типов данных
CString – для работы со строками, базируется на типе TCHAR.
CTime – представление абсолютного времени и даты;
COleDateTime – класс инкапсулирует (защищает по доступу) тип данных DATE, используемый в OLE automation для представления абсолютной даты и времени.
CTimeSpan – для представления относительного времени и даты.
COleDateTimeSpan - относительное время и дата в OLE automation.
CPoint - для представления координат (x, y).
CSize – подобен структуре SIZE, использованной в Win и создаёт 2 компоненты типа int cx, cy (public) для представления размеров и вспомогательных цедей.
CRect – для представления координат прямоугольников (4 характеристики)
CImageList – обеспечивает функциональность для хранения списков образов одинакового размера; повышается эффективность представления и обработки. Они используются для эффективной работы с массивами иконок или битовых карт; используются совместно с классами: CListCtrl, CTreeCtrl, CTabCtrl.
COleVariant - обеспечивает функциональность для типа данных VARIANT дляOLE automation; данные в этом типе могут быть представлены в большом числе форматов.
COleCurrency - - обеспечивает функциональность для типа данных CURRENCY дляOLE automation; это тип данных с фиксированной точкой (15 до точки, 4 после). Обычно используется для бухгалтерии.
Рассмотрим класс CString как основной на начальных этапах работы с VisualC++.
Класс CString
Класс базируется на типе TCHAR. Если для программы определён символ _UNICODE, то тип TCHAR определён как wchar_t, т.е. 16-битный символ, а обычный char – 8-битный.
Объекты класса CString можно свободно замещать const char* или LPCTSTR типами, передаваемыми в качестве функциональных аргументов там для должен быть тип CString.
Объекты класса CString позволяют экономить память – обеспечивая двум строкам (возможно и более) имеющим одинаковые значения «разделять общий буфер размещения». Но это особый случай.
Объекты класса CString могут создаваться присваиванием им значений обычных литеральных строк или уж готовых объектов.
CString mStr = “Test”;
CString newStr = mStr;
При присваивании содержимого второго объекта копируетсяи общий буфер не используется. В 1-м случае это не присваивание, а конструирование. Таким образом, строки всегда в результату операций создастся заново, т.е. ведут себя как значения, а не как указатели на строки.
Для доступа к элементам строки используется функции GetAt(), SetAt() или []- операторы
Отсчёт индексов начинается с 0.
Оператор «+» обеспечивает конкатенацию строк:
CString s1 =”Test;
s1+=”1”;//значение s1==”Test1”
Для сравнения строк используются операторы:
<,<=,>=,>,==,!=.
Функций для работы со строками достаточно много в том числе различных конструкторов, например для создания строки повторением символа:
CString s1(‘x’,5);// s1==”xxxxx”;
s1.SetAt(1,’C’); // s1==”xCxxx”;
Обычно MFC использует тип: TCHAR для char, LPTSTR – char*, LPCTSTR – const char*.
Дата добавления: 2016-05-26; просмотров: 1687;