|
Muhammad al-Xorazmiy nomidagi tatu samarqand filiali
|
Sana | 28.02.2024 | Hajmi | 91 Kb. | | #163847 |
Bog'liq 3 - Amaliy ish ( Dasturlash II) ppt 1, Oraliq nazorat Javoblari, 5-mustaqil ish, 5-мустақил иш, Илмий тадқиқот методологияси ишчи дастур 2020, grokking-algorithms-illustrated-programmers-curious, Allayarov A. 2, ТПроформа договора по лоту №73719 (1), 7-topshiriq, 7-8-9 lab, Amplitudali modulyatsiya, 1-1610, fazliddin fozilov 123, Dasturlash 3 natija, Calendar plan-Maxsus fanlarni o\'qitish metodikasi (3)
Muhammad al-Xorazmiy nomidagi TATU Samarqand filiali
Laboratoriya mashg‘ulotlari
FAN |
|
DASTURLASh (C++)
| Hafta raqami |
|
2
| Mashg‘ulot mazmuni |
| Sinf a’zolari (a’zo funksiya va o‘zgaruvchilar) dan foydalanib dastur tuzish. | Maqsad: |
| Sinf a’zolarini o‘rganish;
Sinf va dasturning ishlab chiqish jarayonini implementatsiyasini o‘rganish;
Sinf a’zolarini qo‘llagan holda dasturlar tuzish.
|
Sinf tanasining implementatsiyasi. C++ da sinf tanasini implementatsiya qilish imkoni mavjud, Sinfni e’lon qilishda faqatgina sinfdagi ma’lumotlar maydonini, konstruktorlarni, funksiyalarning prototiplarini ko‘rsatib o‘tish hisoblanadi, sinfning realizatsiyasi esa konstruktor va funksiyalarni to‘liq ko‘rsatadi. Sinfni e’lon qilish va realizatsiya qilish ikkita har xil fayllarda yozilishi mumkin. Faqat har ikkala fayl ham bir xil nomalanishi zarur. Sinfni e’lon qilish faylining kengaytmasi .h (h sarlavha degani) bo‘ladi, realizatsiyaning kengaytmasi esa .cpp bo‘ladi.
1-Mashq. Ekranda doira yuzasini chop etadigan dasturni Sinf tanasini implementatsiya qilish orqali tuzilsin. Bu yerda Circle sinfi e’lon qilinishi Circle.h faylida sinf a’zolari esa Circle.cpp faylida yozilishi dasturning kliyent qismi esa main.cpp faylida yozilsin.
Dastur kodi:
Listing 2.1 Circle.h
class Circle
{
public:
// Radius kruga
double radius;
// konstruktor po umolchaniyu
Circle();
// konstruktor s parametrom
Circle(double);
// Vozvrasheniye ploshadi kruga
double getArea();
};
Listing 2.2 Circle.cpp
#include "Circle.h"
// Construct a default circle object
Circle::Circle()
{
radius = 1;
}
// Construct a circle object
Circle::Circle(double newRadius)
{
radius = newRadius;
}
// Return the area of this circle
double Circle::getArea()
{
return radius * radius * 3.14159;
}
Simvol :: - operator bo‘lib, sinf a’zolarini sinfda ko‘rsatish uchun qo‘llaniladi.
Bu yerda Circle:: har bir konstruktor va funksiyaning Circle sinfiga mansubligi, kompilyatorga mazkur konstruktorlar va funksiyalar Circle sinfida e’lon qilinganligini ko‘rsatadi.
2.3 listingda Circle sinfining realizatsiyasi ko‘rsatilgan.
Listing 2.3 main.cpp
#include
#include "Circle.h"
using namespace std;
int main()
{
Circle circle1;
Circle circle2(5.0);
cout << "Ploshad kruga pri radiuse "
<< circle1.radius << " ravna " << circle1.getArea() << endl;
cout << "Ploshad kruga pri radiuse "
<< circle2.radius << " ravna " << circle2.getArea() << endl;
// Izmenennoye radius
circle2.radius = 100;
cout << "Ploshad kruga pri radiuse "
<< circle2.radius << " ravna " << circle2.getArea() << endl;
return 0;
}
Rezultat:
Ploshad kruga pri radiuse 1 ravna 3.14159
Ploshad kruga pri radiuse 5 ravna 78.5397
Ploshad kruga pri radiuse 100 ravna 31415.9
ДАСТУРЛАШ II (С++) фанидан 3 - амалий машғулот
|
| |