You are on page 1of 1

საკონტროლო 2 7 ივნისი 2022 წ.

კურსის დასახელება: ობიექტზე ორიენტირებული დაპროგრამება 1 (C++) კურსის სტატუსი: ძირითადი


ქულების განაწილება: 1 – 8 ქ; 2 – 12 ქ. ქულათა ჯამი: 20 ქულა.
ხანგრძლივობა: 1 საათი 30 წუთი
სტუდენტი:

1. მოცემულია myVector კლასი და პროგრამის main( ) -ი:


class myVector int main()
{ {
double a, b, c; myVector A(4.1, 3.2, 2.),
public: B(2.), C;
myVector(double = 4., double = 2., double = -1.); A -= B;
myVector& operator -= (myVector&); cout << "A : " << A << endl;
myVector& operator++(); double n(0.5);
myVector operator /(double); B = C / n;
friend ostream& operator <<(ostream&, myVector&); cout << "B : " << B << endl;
}; C = ++B;
cout << "C : " << C << endl;
cout << "B : " << B << endl;
}
ა) შეავსეთ კოდი სრულ პროგრამამდე, ე.ი. კლასის გარეთ მოიყვანეთ კლასის ფუნქციების და მეგობარი
ფუნქციების იმპლემენტაცია; პროგრამის შესასრულებლად დაამატეთ საჭირო header ფაილები;
ბ) შეასრულეთ პროგრამა და აჩვენეთ მიღებული გამოტანის ეკრანი.

2. ააგეთ კლასების შემდეგი იერარქია:


ა). საბაზო კლასში Vehicle (სატრანსპორტო საშუალება) გაითვალისწინეთ მონაცემები weight (წონა), range
(ტვირთამწეობა) და ფუნქციები – პარამეტრებიანი კონსტრუქტორი, დესტრუქტორი და მონაცემების
ფუნქცია;
ბ). Vehicle კლასის მემკვიდრე კლასი Car (მსუბუქი მანქანა) ამატებს მონაცემებს speed (სიჩქარე) და cyl
(ცილინდრების რაოდენობა). შემოიღეთ კლასის პარამეტრებიანი კონსტრუქტორი, დესტრუქტორი,
მონაცემების ბეჭდვის ფუნქცია და სხვა ფუნქციები საჭიროების მიხედვით;
გ). Car კლასის მემკვიდრე კლასი Bus (ავტობუსი) ამატებს მონაცემებს color (ფერი) და passengers
(მგზავრების რაოდენობა). კლასში შემოიღეთ პარამეტრებიანი კონსტრუქტორი, დესტრუქტორი,
მონაცემების ბეჭდვის ფუნქცია და სხვა ფუნქციები საჭიროების მიხედვით.
შენიშვნა: ყოველ მემკვიდრე კლასში გამოიყენეთ წინაპარი კლასის ბეჭდვის ფუნქცია. მონაცემები დაბეჭდეთ
შემდეგი სახით: რომელი ველია და რა არის მისი მნიშვნელობა.
main -ში:
1) შექმენით საბაზო კლასის ობიექტი და დაბეჭდეთ ინფორმაცია მის შესახებ. შემდეგ დინამიკურად
შექმენით ორივე მემკვიდრე კლასის თითო–თითო ობიექტი და დაბეჭდეთ მათი თავდაპირველი
მონაცემები;
2) შეცვალეთ ავტობუსის მგზავრების რაოდენობა კლავიატურიდან შემოტანილი ახალი მნიშვნელობით. თუ
მანქანის სიჩქარე 110 კმ/სთ –ზე მეტია, შეამცირეთ იგი 50 კმ/სთ –ით. კვლავ დაბეჭდეთ Bus და Car
კლასების ობიექტების შესახებ სრული ინფორმაცია. ბოლოს, გაათავისუფლეთ დაკავებული დინამიკური
მეხსიერება.

You might also like