Глава 14. Базовые концепции классов____________________________349
В конструкторе THIS_DEMO содержится присваивание целочисленному члену а значения 5. Обычно this явно не указывается, просто пишут а = 5;.
Конечно, нет надобности использовать этот указатель для обращения к членам класса изнутри класса; но это единственное средство сослаться из объекта на объект в целом. Указатель this иногда бывает крайне полезен.
Демонстрационная программа
Сейчас мы рассмотрим небольшую программу, демонстрирующую примеры применения изученных в этой главе средств языка. В этой программе реализовано несколько функций, позволяющих выводить список файлов каталога по заданному шаблону. По действию она похожа на команду DIR операционной системы DOS.
Вместо того чтобы просто взять готовый листинг программы и разобраться в наиболее важных ее моментах, мы будем подходить к решению в несколько этапов.
Первое приближение
Первый пример представляет из себя небольшую структурную программу, в которой нужный результат достигается через обращение к паре функций findfirst и findnext. Для использования этих функций необходимо включить в код программы заголовки dir.h и dos.h.
Для простоты эту программу следует компилировать как приложение Win32 Console.
1 // DIRl.CPP — Демонстрационная программа, // выводящая список файлов каталога
2 // Copyright (с) 1995. All Rights Reserved.
3 // By Paul Kinroel
4 #include <dir.h>
5 #include <dos.h>
6 ftinclude <iostream.h>
7 void main()
8 (
9 // ffblk определена в dos.h
10 struct ffblk ffblk;
11 // findfirst( filemask, ffblk, attribute_byte)
12 int done = findfirst( "*.*", sffblk, 0) ;
13 while( !done)
14 {
15 cout « ffblk. ff name « endl;