Mustaqil Ish
|
C++ dasturlash tilida struktura va sinflar tushunchasi, qiyosiy tahlili.
|
Guruh:050-19 Javlonbekov.Javodbek.J
|
KIRISH
C++ tilidagi sinflar va ob'ektlar ob'ektga yo'naltirilgan dasturlashning asosiy tushunchalari - OOP. Ob'ektga yo'naltirilgan dasturlash - bu tizimli dasturlashning kengaytmasi bo'lib, unda asosiy tushunchalar sinflar va ob'ektlar tushunchalari hisoblanadi. C ++ dasturlash tilidan C o'rtasidagi asosiy farq shundaki, C tilida sinflar mavjud emas va shuning uchun C tili C ++ dan farqli o'laroq OOP ni qo'llab-quvvatlamaydi.
Darslar aslida nimaga mo'ljallanganligini tushunish uchun keling, kundalik hayotdagi ba'zi ob'ektlar, masalan, velosiped bilan o'xshashlik qilaylik. Velosiped - bu chizmalarga muvofiq qurilgan ob'ekt. Shunday qilib, xuddi shu rejalar OOPda sinflar rolini o'ynaydi. Shunday qilib, sinflar ba'zi tavsiflar, diagrammalar, chizmalar bo'lib, ularga ko'ra ob'ektlar yaratiladi. Endi ma'lum bo'ldiki, OOPda ob'ekt yaratish uchun avvalo chizmalarni, ya'ni sinflarni chizish kerak. Sinflarning o'ziga xos funktsiyalari mavjud bo'lib, ular sinf usullari deb ataladi. Velosipedning harakati pedallarni aylantirish orqali amalga oshiriladi, agar velosipedni OOP nuqtai nazaridan ko'rib chiqsak, u holda pedal mexanizmi sinfning usuli hisoblanadi. Har bir velosipedning o'ziga xos rangi, vazni, turli komponentlari bor - bularning barchasi xususiyatlar. Bundan tashqari, har bir yaratilgan ob'ekt uchun xususiyatlar farq qilishi mumkin. Bir sinfga ega bo'lish, siz cheksiz miqdordagi ob'ektlarni (velosipedlarni) yaratishingiz mumkin, ularning har biri bir xil usullar to'plamiga ega bo'ladi, shu bilan birga siz pedal mexanizmini, g'ildiraklarni, tormoz tizimining ishlashini ichki amalga oshirish haqida o'ylashingiz shart emas, chunki bularning barchasi allaqachon amalga oshiriladi. sinfda aniqlanishi kerak. Sinf maqsadi bilan shug'ullangandan so'ng, keling, unga malakali ta'rif beramiz.
C++ tilidagi darslarUsullar, xususiyatlar, hali mavjud bo'lmagan ob'ektlarni tavsiflovchi abstraksiya. Ob'ektlar o'ziga xos xususiyat va usullarga ega bo'lgan mavhumlikning aniq tasviridir. Bitta sinf asosida yaratilgan ob'ektlar shu sinfning misollari deyiladi. Ushbu ob'ektlar har xil xatti-harakatlarga, xususiyatlarga ega bo'lishi mumkin, ammo ular baribir bir xil sinf ob'ektlari bo'lib qoladi. OOPda sinflarni qurishning uchta asosiy tamoyillari mavjud:
InkapsulyatsiyaBu sizga sinfda ma'lumotlar va ular bilan ishlash usullarini birlashtirish va foydalanuvchidan amalga oshirish tafsilotlarini yashirish imkonini beruvchi xususiyatdir.
Meros olishMavjud sinfga asoslangan yangi avlod sinfini yaratishga imkon beruvchi xususiyat, bunda ota-klassning barcha xususiyatlari avlod sinfiga tayinlanadi.
Polimorfizm- bir xil interfeysga ega bo'lgan sinflar ob'ektlaridan ob'ektning turi va ichki tuzilishi haqida ma'lumotsiz foydalanishga imkon beruvchi sinflar xususiyati.
Biz har bir sinf qurilishi xususiyatlarini kerak bo'lganda batafsil ko'rib chiqamiz, ammo hozircha bu uchtasini eslab qoling. Endi sinflarga qaytsak, avval sinf deklaratsiyasining tuzilishini ko'rib chiqamiz.
1
2
3
4
5
6
7
8
9
10
|
// объявление классов в С++
class /*имя класса*/
{
private:
/* список свойств и методов для использования внутри класса */
public:
/* список методов доступных другим функциям и объектам программы */
protected:
/*список средств, доступных при наследовании*/
};
|
|
|
Sinf deklaratsiyasi ajratilgan sinf kalit so'zidan boshlanadi, undan keyin sinf nomi keladi. Sinfning tanasi jingalak qavslar ichida e'lon qilinadi, 3 - 10 qatorlar va yopilgan qavsdan so'ng siz nuqta-vergul qo'yishingiz kerak, 10-qator. Sinfning tanasida uchta kirish spetsifikatsiyasi yorlig'i e'lon qilinadi, 4, 6-satrlar, 8, har bir yorliqdan keyin siz doimo ikki nuqta qo'yishingiz kerak. 4-qator kirish spetsifikatsiyasi yorlig'ini e'lon qiladixususiy... Klassning barcha usullari va xossalari kirish spetsifikatsiyasidan keyin e'lon qilinadixususiyfaqat sinf ichida mavjud bo'ladi. 6-qator kirish spetsifikatorini e'lon qiladiommaviy, kirish spetsifikatsiyasidan keyin e'lon qilingan sinfning barcha usullari va xususiyatlari ommaviydasturdagi boshqa funksiyalar va ob'ektlar uchun mavjud bo'ladi. Hozircha bu erda to'xtab qolaylik, kirish spesifikacihimoyalanganBiz uni hozir qismlarga ajratmaymiz, shunchaki shunday ekanligini unutmang. Klassni e'lon qilishda uchta kirish spetsifikatsiyasini e'lon qilish shart emas va ularni shu tartibda e'lon qilish shart emas. Ammo kirish spetsifikatorlarini e'lon qilish tartibi to'g'risida darhol qaror qabul qilish va unga rioya qilishga harakat qilish yaxshiroqdir. Keling, dasturni ishlab chiqaylik, unda biz eng oddiy sinfni e'lon qilamiz, unda bitta funktsiya xabarni chop etadi.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include "stdafx.h"
#include
using namespace std;
class CppStudio
{
public:
void message()
{
cout << "website: cppstudio.com\ntheme: Classes and Objects in C + +\n";
}
};
int main(int argc, char* argv[])
{
CppStudio objMessage;
objMessage.message();
system("pause");
return 0;
}
|
7-14 qatorlarda biz CppStudio nomli sinfni aniqladik. Sinf nomini bosh harf bilan boshlash odatiy holdir, nomdagi keyingi so'zlar ham bosh harf bilan boshlanishi kerak. Harflarning bu birikmasi tuya registrlari deb ataladi, chunki katta va kichik harflarning almashinishi tuya siluetiga o'xshaydi. Sinf tanasida kirish spetsifikatsiyasi e'lon qilinadiommaviybu boshqa funktsiyalarga keyin e'lon qilingan sinf usullarini chaqirish imkonini beradiommaviy... Shuning uchun asosiy funktsiyada, 19-qatorda biz funktsiyani chaqira oldikxabar ()... CppStudio sinfida parametrlarga ega bo‘lmagan va ekranda xabarni ko‘rsatadigan faqat bitta funksiya e’lon qilinadi, 12-qator. Sinf usullari bir xil funksiyalardir, faqat ular sinf ichida e’lon qilinadi, shuning uchun funksiyalar bilan bog‘liq hamma narsa sinf usullari uchun tegishli. shuningdek. Sinflarni e'lon qilish funksiyalarni e'lon qilish bilan bir xil tarzda amalga oshiriladi, ya'ni sinf alohida faylda yoki asosiy faylda e'lon qilinishi mumkin, bu qanday amalga oshirilishini keyinroq ko'rib chiqamiz. 18-qator o'zgaruvchini e'lon qiladiobjMessageturiCppStudio, shuning uchun o'zgaruvchiobjMessageSinf obyekti hisoblanadiCppStudio... Shunday qilib, sinf murakkab ma'lumotlar turidir. Sinf ob'ekti e'lon qilingandan so'ng, siz uning usullaridan foydalanishingiz mumkin. Faqat bitta usul mavjud - funktsiyaxabar ()... Buning uchun biz ob'ekt usuliga murojaat qilamizobjMessagenuqta orqali, 19-satrda ko'rsatilganidek, natijada dastur matnli xabarni ko'rsatadi (1-rasmga qarang).
1-rasm - C ++ tilidagi sinflar
set - funktsiyalar va get - sinf funktsiyalari
Har bir ob'ekt o'z hayoti davomida uni tavsiflovchi o'ziga xos xususiyatlarga yoki atributlarga ega. Ob'ekt atributlari ob'ektga ega bo'lgan sinfda e'lon qilingan o'zgaruvchilarda saqlanadi. Bundan tashqari, o'zgaruvchilar deklaratsiyasi kirish spetsifikatsiyasi yordamida amalga oshirilishi kerakxususiy... Bunday o'zgaruvchilar ma'lumotlar elementi deb ataladi. Elementlar e'lon qilinganligi sabablixususiy, keyin faqat sinf usullari ularga kirishi mumkin, ma'lumotlar elementlariga tashqi kirish taqiqlanadi. Shuning uchun, sinflarda maxsus usullarni e'lon qilish odatiy holdir - deb ataladigano'rnatishvaolishma'lumotlar elementlarini boshqarishingiz mumkin bo'lgan funktsiyalar. set-funksiyalari ma'lumotlar elementlarini ishga tushiradi, get-funktsiyalari ma'lumotlar elementlarining qiymatlarini ko'rishga imkon beradi. Keling, darsni yakunlaymizCppStudiou sanani dd.mm.yy formatida saqlashi uchun. Sanani o'zgartirish va ko'rish uchun biz shunga muvofiq amalga oshiramizo'rnatishvaolishfunktsiyalari.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#include "stdafx.h"
#include
using namespace std;
class CppStudio
{
private:
int day,
month,
year;
public:
void message()
{
cout << "\nwebsite: cppstudio.comntheme: Classes and Objects in C + +\n";
}
void setDate(int date_day, int date_month, int date_year)
{
day = date_day;
month = date_month;
year = date_year;
}
void getDate()
{
cout << "Date: " << day << "." << month << "." << year << endl;
}
};
int main(int argc, char* argv[])
{
setlocale(LC_ALL, "rus");
int day, month, year;
cout <<
cout << cin >> day;
cout << cin >> month;
cout << cin >> year;
CppStudio objCppstudio;
objCppstudio.message();
objCppstudio.setDate(day, month, year);
objCppstudio.getDate();
system("pause");
return 0;
}
|
Sinf ta'rifida yangi kirish spetsifikatsiyasi paydo bo'ldixususiy, satr 9. Ushbu kirish spesifikacisi undan keyin va kirish spesifikacisi boshlanishidan oldin e'lon qilingan o'zgaruvchilarga kirishni cheklaydi.ommaviy, satrlar 9 - 12. Shunday qilib, o'zgaruvchilargakun, oy, yil, faqat sinf usullariga kirish mumkin. Sinfga tegishli bo'lmagan funksiyalar bu o'zgaruvchilarga kira olmaydi. Ma'lumotlar a'zolari yoki sinf usullari kirish spetsifikatsiyasidan keyin e'lon qilinadixususiy, lekin keyingi kirish spetsifikatsiyasi boshlangunga qadar sinfning shaxsiy ma'lumotlar a'zolari va xususiy usullari deb ataladi. Eng kam imtiyoz printsipi va yaxshi dasturlash printsipiga rioya qilgan holda, kirish spesifikasidan keyin ma'lumotlar elementlarini e'lon qilish tavsiya etiladi.xususiysinf usullari esa kirish spetsifikatoridan keyinommaviy... Keyin ma'lumotlar elementlarini manipulyatsiya qilish uchun maxsus funktsiyalar e'lon qilinadi -olishvao'rnatish... SinfgaCppStudioBiz ikkita usulni qo'shdikbelgilangan sana ()vagetDate (), keling, har bir usulni batafsil ko'rib chiqaylik. Usulbelgilangan sana ()18 dan 23 gacha bo'lgan qatorlar bilan belgilanadi. Avval aytib o'tilganidek, set - funktsiyalari ma'lumotlar a'zolarini ishga tushiradi, shuning uchun usulbelgilangan sana ()aynan shunday vazifani bajaradi. Ya'ni, usulbelgilangan sana ()o'zgaruvchilarni ishga tushiradikun, oy, yil... Shaxsiy elementlardagi qiymatlarni ko'rish uchun funksiya e'lon qilinadigetDate ()bu o'zgaruvchilardan qiymatlarni qaytaradikun, oy, yilsana ko'rinishida.Bu sinf ta'rifini yakunlaydi, asosiy ()da har doimgidek, biz sinf ob'ektini yaratamiz va ob'ekt orqali biz uning usullarini chaqiramiz, 39 - 41. Agar ma'lumotlar elementlari keyin e'lon qilingan bo'lsa. aniqlovchiommaviybiz ularga sinfning metodlari bilan bir xil tarzda murojaat qilishimiz mumkin. Dasturning natijasi 2-rasmda ko'rsatilgan.
2-rasm - C ++ tilidagi sinflar
Konstruktorlar
Oldingi dasturda, sinf tomonidanCppStudiosana ma'lumotlarini saqlashi mumkin bo'lgan ma'lumotlar elementlari e'lon qilindi. Sinf ob'ekti yaratilganda biz joriy sanani belgilash uchun dastlab set - funksiyasini chaqirdik (shu bilan ma'lumotlar elementlarini ishga tushirdik), keyin esa - get - funktsiyasini chaqirdik va ekranda tegishli sanani ko'rdik. Agar biz birinchi marta get - funktsiyasini chaqirgan bo'lsak, unda sana o'rniga biz ba'zi raqamlarni ko'ramiz - axlat. Shunday qilib, ob'ektlarni yaratishda siz sinfning ma'lumotlar a'zolarini darhol ishga tushirishingiz mumkin, konstruktor bu funktsiyani bajaradi. Konstruktor - bu ma'lumotlar elementlarini dastlabki ishga tushirishni amalga oshiradigan maxsus funktsiya bo'lib, konstruktor nomi, albatta, sinf nomiga mos kelishi kerak. Konstruktorning boshqa funktsiyalardan muhim farqi shundaki, u hech qanday qiymatlarni qaytarmaydi, shu jumladanbekor... Har qanday sinfda konstruktor bo'lishi kerak, hatto konstruktor aniq e'lon qilinmagan bo'lsa ham (oldingi sinfda bo'lgani kabi), kompilyator parametrlarsiz standart konstruktorni taqdim etadi. Keling, darsni yakunlaymizCppStudiounga konstruktor qo'shish orqali.
MVS
Kod :: Bloklar
Dev-C ++
QtCreator
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#include "stdafx.h"
#include
using namespace std;
class CppStudio
{
private:
int day,
month,
year;
public:
CppStudio(int date_day, int date_month, int date_year )
{
setDate(date_day, date_month, date_year);
}
void message()
{
cout << "\nwebsite: cppstudio.com\ntheme: Classes and Objects in C + +\n";
}
void setDate(int date_day, int date_month, int date_year)
{
day = date_day;
month = date_month;
year = date_year;
}
void getDate()
{
cout << "date: " << day << "." << month << "." << year << endl;
}
};
int main(int argc, char* argv[])
{
CppStudio objCppstudio(11,11,2011);
objCppstudio.message();
objCppstudio.getDate();
system("pause");
return 0;
}
|
Konstruktor 13 - 16 qatorlarda e'lon qilinadi. Konstruktor uchta parametrga ega bo'lib, ular orqali sana haqida ma'lumot oladi; to'plam konstruktorning tanasida - sanani belgilash funktsiyasi deb ataladi. Sinf ma'lumotlari elementlarini boshlang'ich ishga tushirishni set - funktsiyasisiz amalga oshirish mumkin edi, lekin bu funktsiya taqdim etilganligi sababli, ushbu maxsus funktsiyadan foydalanish to'g'riroq bo'ladi, 15-qator. 35-qatorda biz sinf ob'ektini e'lon qilamiz va keyin Qavslar ichidagi ob'ekt nomi, biz uchta argumentni uzatamiz ... Konstruktor yordamida ma'lumotlar elementlarini dastlabki ishga tushirish shunday amalga oshiriladi (3-rasmga qarang).
3-rasm - C ++ tilidagi sinflar
Sinf deklaratsiyasi alohida faylda
Hozirgacha sinf deklaratsiyasi asosiy funktsiyaga ega faylda bajarilgan va hamma narsa ishlagan. Faraz qilaylik, siz dastur yozishingiz kerak, buning uchun siz sinfdan foydalanishingiz kerakCppStudio- biz ilgari ishlab chiqqan sinf. Ushbu sinfdan foydalanish uchun siz u e'lon qilingan faylni kiritishingiz kerak. Yuqorida aytib o'tganimizdek, fayl ulanishi oldindan ishlov berish direktivasi yordamida amalga oshiriladi#o'z ichiga oladi... Ammo faylni sinf bilan bog'lay olsak ham, yangi muammo paydo bo'ladi - chunki sinfga ega fayl allaqachon funktsiyaga ega.asosiy (), keyin kompilyator loyihani qurishda xatolik hosil qiladi. Xatoning mohiyati: “Bir nechtaasosiy ()- funksiyalar. Shuning uchun sinfni qayta-qayta ishlatish uchun alohida faylda e'lon qilish kerak. Ilgari biz funktsiyalarni alohida faylda e'lon qilgan edik, xuddi shu tarzda sinf alohida faylga joylashtirilgan. Buning uchun siz 3 bosqichni bajarishingiz kerak:
loyihaga sarlavha faylini qo'shing* .h;
sarlavha faylida maxsus sinfni e'lon qilish, bizning holatlarimizda -CppStudio;
sarlavha faylini dasturga ulang, bizning holatlarimizda -# "CppStudio.h" ni o'z ichiga oladi...
Rivojlanish muhitiga qarab, loyihaga fayllarni qo'shish usuli har xil bo'lishi mumkin, ammo vazifaning mohiyati o'zgarmaydi. MVS2010-da sarlavha fayli "yechim tadqiqotchisi" da "yangi element yaratish" bandini tanlab, kontekst menyusiga (sichqonchaning o'ng tugmasi) qo'ng'iroq qilish orqali qo'shilishi mumkin. Ko'rsatilgan dialog oynasida bizga kerak bo'lgan fayl turini tanlang - bu* .hva "Fayl nomi" maydonini to'ldiring. Avvalgidek, biz ma'noli nomni tanlaymiz, qoida tariqasida, sinf nomi bilan bir xil. Endi loyihamizga yangi sarlavha fayli qo'shildi -CppStudio.h...
Yangi yaratilgan sarlavha faylida sinfni e'lon qiling va agar kerak bo'lsa, qo'shimcha sarlavhalarni qo'shing. Mana nima bo'lishi kerak edi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#include
using namespace std;
class CppStudio
{
private:
int day,
month,
year;
public:
CppStudio(int date_day, int date_month, int date_year )
{
setDate(date_day, date_month, date_year);
}
void message()
{
cout << "nwebsite: cppstudio.comntheme: Classes and Objects in C + +n";
}
void setDate(int date_day, int date_month, int date_year)
{
day = date_day;
month = date_month;
year = date_year;
}
void getDate()
{
cout << "date: " << day << "." << month << "." << year << endl;
}
};
|
Asosiy funktsiya biz yaratgan sinfni ko'rishi va undan foydalana olishi uchun bajariladigan faylga sinf ta'rifini funksiya bilan kiritish kerak.asosiy ()... Bu shunday amalga oshiriladi:
MVS
Kod :: Bloklar
Dev-C ++
QtCreator
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
.
#include "stdafx.h"
#include "CppStudio.h"
int main(int argc, char*argv[])
{
CppStudio objCppstudio(11,11,2011);
objCppstudio.message();
objCppstudio.getDate();
system("pause");
return 0;
}
|
5-qator sinf ta'rifini o'z ichiga oladiCppStudio, shundan keyingina siz sinf ob'yektlarini yaratishingiz, uning usullarini qo'llashingiz mumkin va hokazo.Dastur natijasi avvalgidek aynan bir xil, faqat loyiha tuzilishi o'zgargan.
Interfeysni amalga oshirishdan ajratish
Sinf interfeysi- sinf tomonidan taqdim etilgan usullar va xususiyatlarni belgilaydigan konstruktsiya. Sinfni amalga oshirish - bu sinfning ishlashini ta'minlash usuli. Bungacha biz sinf interfeysini uni amalga oshirishdan ajratmadik, ya'ni usullarni amalga oshirish sinf ichida amalga oshirildi. Sinfni amalga oshirishdan interfeysni ajratish sinfning ishlash usulini yashirish uchun amalga oshiriladi. Interfeysni amalga oshirishdan ajratish 5 bosqichda amalga oshiriladi:
loyihaga sarlavha faylini qo'shing* .h;
sarlavha faylida sinf interfeysini aniqlang
loyihaga bajariladigan fayl qo'shing* .cpp;
bajariladigan faylda sinfni amalga oshirishni amalga oshirish;
sarlavha faylini dasturga ulang.
Biz allaqachon loyihaga sarlavha faylini qanday qo'shishni bilamiz, bajariladigan fayl ham xuddi shu tarzda qo'shiladi, bu fayllarning nomlari, qoida tariqasida, bir xil bo'ladi. Sinf interfeysi quyidagicha ko'rinishi kerak:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
class CppStudio
{
private:
int day,
month,
year;
public:
CppStudio(int, int, int);
void message();
void setDate(int, int, int);
void getDate();
};
|
E'lon qilingan o'zgaruvchilar va sinf usullarining prototiplari sinf interfeysida qoladi. Endi sinf usullarini amalga oshirish faylining mazmunini ko'rib chiqamiz.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include
using namespace std;
#include "CppStudio.h"
CppStudio::CppStudio(int date_day, int date_month, int date_year )
{
setDate(date_day, date_month, date_year);
}
void CppStudio::message()
{
cout << "nwebsite: cppstudio.comntheme: Classes and Objects in C + +n";
}
void CppStudio::setDate(int date_day, int date_month, int date_year)
{
day = date_day;
month = date_month;
year = date_year;
}
void CppStudio::getDate()
{
cout << "date: " << day << "." << month << "." << year << endl;
}
|
Sinf interfeysini va uni amalga oshirishni bog'lash uchun siz sarlavha faylini amalga oshirish faylidagi sinf ta'rifi, 6-qator (ta'kidlangan chiziq) bilan bog'lashingiz kerak. Shundan so'ng siz sinfning usullarini e'lon qilishingiz mumkin. Sinf usullari funksiyalar kabi e'lon qilinadi, faqat usul nomidan oldin siz sinf nomini yozishingiz va "::" doirasini yechishning unar operatsiyasini qo'yishingiz kerak.
Sinf usullari sinf tanasidan tashqarida e'lon qilinganligi sababli, metodni amalga oshirishni sinf bilan bog'lash kerak va buning uchun biz doirani hal qilishning binar operatsiyasidan foydalanamiz. Ikkilik qamrovli operatsiya tashqi e'lon qilingan usulni metod deklaratsiyasi bilan bir xil nomga ega bo'lgan sinfga bog'laydi. Shuning uchun sinf usulini e'lon qilishda sinf nomini va qamrovni aniqlash operatsiyasini qo'shish kerak.
Shunday qilib, sinf interfeysi aniqlandi, sinf usullari e'lon qilindi, bajariladigan fayldagi sarlavha faylini ulash uchun qoladi.asosiy ()funktsiya va dastur tayyor.
MVS
Kod :: Bloklar
Dev-C ++
QtCreator
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include "stdafx.h"
#include "CppStudio.h"
int main(int argc, char*argv[])
{
CppStudio objCppstudio(11,11,2011);
objCppstudio.message();
objCppstudio.getDate();
system("pause");
return 0;
}
|
Do'stlaringiz bilan baham: |