306
friend istream& operator >> (istream& in,
MyClass& C){
cout << "х енгізіңіз: "; in >> C.x;
cout << "y енгізіңіз: "; in >> C.y;
return in;
}
};
int main(){
MyClass
C;
cout << C << endl;
MyClass C1(100, 100);
cout << C1 << endl;
MyClass
C2;
cin >> C2; cout << C2 << endl;
return
0;
}
MyClass
класының
С
экземпляры (данасы) келісім бойынша тағайын-
далған конструктордың параметрлері арқылы құрылады, сондықтан экранға
келесі нəтиже шығарылады:
x = 1 y = 0.01
MyClass
класының
С1
данасы 100, 100 параметрлерімен құрылады:
x = 100 y = 100
С2
экземпляры (данасы) құрылғаннан кейін
x
жəне
y
шамаларын енгізуді
ұсынатын мəлімет шығарылады, осыдан соң барып пернетақтадан енгізілген
мəндер экранға шығарылады.
Стандартты ағымдар қолданылған программаларды қарастыруға
практикумның [12] 4-ші жəне 5-ші семинарлары арналған.
307
11-ТАРАУ
Тіркестер
Стандартты кластар жай ғана
С++ құрамына енгізілмейді.
Г. Шилдт
С++ тілінде сөз тіркестерін бейнелейтін «тіркес» стандартты мəліметтер
типі жоқ. Оның орнына С++ тілі нөлсимволмен аяқталатын символдар жиы-
мын сүйемелдейді. Кітапханада осындай жиымдармен жұмыс істеуге арналған
(
) тақырыптық файлында сипатталған жəне С тілінен
мұраланған функциялар бар. Осы функциялар туралы «Тіркестермен жəне
символдармен жұмыс істеу функциялары» бөлімінде, 97 б. жазылған. Олар
жоғарғы тиімділікке қол жеткізуге мүмкіндік береді, бірақ қолдануға аса
қолайсыз жəне сенімсіз болып келеді, өйткені символдардың тіркес шекара-
сынан шығу мүмкіндігі тексерілмейді.
Стандартты кітапхананың
string
мəліметтер типінде мұндай
кемшіліктер жоқ, бірақ ол тиімділігі жағынан символдар жиымынан төмен
қалуы мүмкін. Тіркестермен орындалатын негізгі əрекеттер операциялар мен
əдістердің көмегімен атқарылады, ал тіркестің ұзындығы қажеттілігіне қарай
динамикалық түрде өзгеріп отырады. Класты қолдану үшін программаға
тақырыптық файлын
1
қосу қажет. Енді мысал қарастырайық:
Достарыңызбен бөлісу: