С++ тілі класқа бір немесе бірнеше басқа кластардың дерек-мүше мен функция –
мүше мұрагерленуіне мүмкіндік береді. Бұдан жаңа класты туынды класс деп атайды.
Элементтері мұрагерленетін класты өзінің туынды класы үшін арналған базалық класс деп
атайды. Мұрагерлік кластардың кейбір жалпы қылықтарын бір базалық класқа
абстрактауға мүмкіндік береді. Туынды кластар жалпы қылықтарды мұрагерлене базалық
кластың кейбір функция –мүшесін қайта анықтап, бірнеше өзгерту енгізе алады, немесе
жаңа дерек –мүше мен функция-мүше енгізу арқылы толтыра алады. Осыдан туынды
класты анықтау қысқарады, себебі оны туынды кластардан ерекшелейтін қылықтарын
ғана анықтау керек.
Ұсынылатын әдебиет
1. Программирование на Visul C++/ С.В. Глушаков, А.В. Коваль А.В., С.А.
Черепнин; Худож.-оформ.А.С. Юхтман.-М.:ООО «Издательство АСТ»; Харьков:
«Фолио», 2003.-726 с.
2.Глушаков С.В., Коваль А.В., Смирнов С.В. Язык программирования С++: Учебный
курс/Худож.- оформитель А,С.Юхтман. – Харьков: Фолио; М.: ООО «Издательство АСТ»,
2001.-500 с.
3. Баженова И.Ю. Visual C++6.0(VISUAL STUDIO 98).Уроки программирования .-М.:
Диалог-МИФИ, 2001-416 с.
6 (1,3,10) тақырыбынан СДЖ-на арналған бақылау тапсырмалары
1.Басқарудың негізні элементтері. Түймешелер. Редакциялау терезесі.
2.Аралас тізім. Айналу сызығы.
3.Басқарудың қосымша элементтері.Тақырып элементі. Ползунок. Спин –түймеше
7 тақырып. С++ тіліндегі ағынды енгізу-шығару
Дәріс жоспары:
1.Ағындар
2. Ағындарды шығару
3. Ағындарды енгізу
4. Форматталған емес енгізу-шығару
5. Ағындардың монипуляторлары
Дәрістің қысқаша мазмұны
Енгізу-шығарудың әрбір операциясы деректер типіне нәзік жолмен орындалады.С++
тілінде байттық енгізу-шығару ағыны шығарылады. Енгізу-шығару механизмі деректердің
құрылғыдан оперативті жадқа және сенімді жолмен қорытындыланады.
С++ тілі енгізу-шығару үшін «төменгі» және «жоғарғы» деңгейлерге мүмкіндік
береді. Төменгі деңгейдегі енгізу-шығару деректердің кейбір байт сандарын құрылғыдан
жадқа немесе жадтан құрылғыға қайта жіберу керек екеніне жалпыланады. Енгізу-шығару
жоғарғы деңгейі, деректердің байт саны элементтері бойынша біріктіріледі, мысалы бүтін
сандар, жылжымалы үтір сандар, символдар, жолдар және қолданушымен анықталған
деректер типі.
С++ тілі форматталған және форматталған емес енгізу-шығару үшін де мүмкіндік
береді. Форматталған емес енгізу-шығару файлдардың жоғары жылдамдықпен қайта
берілуінің орындалуына мүмкіндік береді, бірақ ол қолданылуы қиын тек әлі толық емес
деретерді қайта өңдейді. Форматталған енгізу-шығару құрылымды деректерді өңдейді,
бірақ оларды өңдеуге қосымша уақыт қажет, бұл үлкен көлемді деректерді тасымалдау
кезінде кемшілік болуы мүмкін. С++тегі программалардың көбісі тақырыпты
файлды қосады, яғни ол енгізу-шығарудың барлық операциялары үшін керекті және
негізгі ақпаратты құрйды.
тақырыптық файлы ағынның параметрлік монипулятор көмегі кезінде
форматталған енгізу-шығаруды өңдеу үшін пайдалы ақпаратты құрайды.
тақырыптық файлы файлдармен операция жүргізу үшін қажетті ақпаратты
құрайды. тақырыптық файлы форматталған енгізу-шығаруды жадқа енгізу
үшін қажетті ақпараттарды құрайды. тақырыптық файлы программалар
үшін маңызды мағлұматтар қосады, яғни оларды С және С++ тілдер стилінің бірігуінен
енгізу-шығару операцияларын орындау үшін қолданады.
Iostream кітапханасы енгізу-шығару операциясының кең спектрін өңдеу үшін көп
кластарды құрайды:
•istream класы ағындардың енгізу операциясын ұстайды;
• ostream класы ағындардың шығару операциясын ұстайды;
• iostream класы ағындардың енгізу, әрі шығару операциясын ұстайды;
• istream және ostream кластары тікелей мұрагерленген ios базалық класының туынды
кластары болып табылады;
• iostream класы көп мұрагерленген istream және ostream кластарының туынды класы
болып табылады;
Солға (<<) жылжыту операциясы шығаруды ағында белгілеу үшін шамадан тыс
жүктелген және ол ағынға орналастыру опеарциясы деп аталады
Оңға (>>) жылжыту операциясы енгізуді ағында белгілеу үшін шамадан тыс
жүктелген және ол ағыннан алу операциясы деп аталады.
Cin енгізуі istream класының стандартты ағынының объектісі енгізудің стандартты
құрылғысына байланған, әдетте пернелер тақтасына.Cout шығару ostream класының
стандартты ағынының объектісі шығарудың стандартты құрылғысына байлаған, әдетте
дисплей экранына. Ostream класының cerr объектісі қателіктер туралы хабарлама
шығраудың стандартты құрылғысына байланған. Деректердің шығарылатын ағындары
cerr объект3с3 8ш3н буферленген емес болып табылады.
Endl ағынының монипуляторы жаңа жолға көшуді шақырады, сонымен қатар
шығару буферінің жойылуына әкеп соқтырады.
С++ компиляторы енгізу және шығару кезінде автоматты түрде деректердің типін
анықтайды.
Он алтылық форматта адрес көрсетіледі. Адрес басылымы үшін көрсеткіш типін
void типіне әкелуге болады.
Put функция-элементі бірлік символ шығарады.put функциясының шақырылуы
алқаланған болуы мүмкін.
Ағынды енгізу ағыннан » алу операциясымен орындалады. Бұл операция автоматты
түрде кіру ағынындағы ажыратқыш символдарды ескермейді.» операциясы false-ні
қайтарады, егер ағында файл соңының белгісі кездессе. Ағыннан алу операциясы дұрыс
емес типті деректерді енгізген кезде,failbit битті орнатуға операцияның сәтті емес
аяқталуы кезінде badbit битін орнықтыруға әкеп соқтырады. Артынан деректерді енгізуге
болады, яғни while тақырып циклының шартты операторында ағыннан алу операциясы
қолдану арқылы. Ағыннан алу операциясы false- ні қайтарады,егер файл соңының белгісі
кездессе.
Форматты емес енгізу-шығару read және write функция-элементі көмегімен
орындалады. Олардың әрқайсысы кейбір байт сандарын символды массивқа енгізеді
немесе одан шығарады. Бұл байттар қандай да бір форматтауға ұшырамайды және жаңа
байттар сияқты енгізіледі немесе шығарылады. Gcount функция-элементі соңғы read
операциясымен оқылған символдардың саны туралы хабарлайды. Read функция-элементі
символды массивқа көрсетілген символдар санын енгізеді. Егер символдардың аз саны
оқылса , онда failbit биті орнатылады.