template<class T> class Val{ public: T val; Val operator ++(){ val ++; return *this; } }; template<> class Val<char>{ public: char val; Val operator ++(){ val = (val - 96) % 26 + 97; return *this; } }; int main(){ Val<int>a; Val<char>b; a.val = 5; b.val = 'x'; for(int i = (++a).val; i > 0; i --) cout << (++b).val; return 0; }
+:yzabcd
-:xyzabc
-:xyz{|}
-:yz{|}~
I:
S: Quyidagi dastur qismiga n soniga 10 kiritilsa dastur natijasini chop eting int get(int n){ return n < 2 ? n : get(n-1) + get(n-2); } int main(){ int n; cin >> n; cout << get(n); return 0; }
+:55
-:34
-:21
-:13
I:
S: Meros klass konstruktorini yaratishda:
+:Voris sinfi uchun konstruktor yaratishda u merosxo'r sinf nomi bilan bir xil nomga ega bo'lishi kerak.
-:Merosli sinf uchun konstruktor yaratishda u asosiy sinf nomi bilan bir xil nomga ega bo‘lishi kerak
-:Voris sinfini yaratganingizda, konstruktor yaratilmaydi. Voris sinfi konstruktori asosiy sinfning xossasi sifatida qabul qilinadi
-:Barcha javoblar to'g'ri
I:
S: Polimorfizm quyidagi mexanizm orqali amalga oshiriladi:
+:funksiyalarni qayta yuklash, merosxo’rlik , virtual funksiyalar
-:funksiyalarni qayta yuklash, metodlarni vorislik bilan yuborish, qoliplar
-:usullarni meros qilish , virtual funksiyalar, qoliplar
-:yuklash funksiyalari qayta yuklash, virtual funksiyalar, qoliplar
I:
S: Funksiyalar virtual deb ataladi:
+:Asosiy sinfdan olingan voris sinfda qayta aniqlanishi mumkin bo'lgan funksiyalar
-:olingan sinfda ishlatilmaydigan asosiy sinf funksiyalari;
-:asosiy sinfda bekor qilib bo'lmaydigan asosiy sinf funksiyalari;
-:asosiy sinfda bekor qilib bo'lmaydigan asosiy sinf funksiyalari
I:
S: Quyidagi dastur qismi to’g’ri ishlashi uchun dasturchi tomonidan tuzilgan Complex sinfi ichida qaysi operator overload qilingan bo’lishi kerakligini aniqlang class Complex{ public: int real, imag; Complex(int real, int imag):real(real), imag(imag){} // operator overload uchun joy }; int main(){ Complex a(3, 4); a = -a; cout << a.real << ' ' << a.imag; return 0; }
+:Complex operator -()
-:Complex operator —-()
-:Complex operator -(Complex a)
-:Complex friend operator -(Complex a, Complex b)
I:
S: Do'st funksiya bu -
+:friend atributiga ega sinfda e'lon qilingan funksiya, lekin sinf a'zosi bo’lmagan
-:argumentlari orasida ushbu sinfning elementlari mavjud bo'lgan boshqa sinfning funksiyasi
-:sinf a'zosi bo'lgan va do'st atributi bilan e'lon qilingan funksiya
-:boshqa sinfda bu funksiyaga mos deb e'lon qilingan funksiya
I:
S: Meros klass konstruktorini yaratishda:
+:Voris sinfi uchun konstruktor yaratishda u merosxo'r sinf nomi bilan bir xil nomga ega bo'lishi kerak.
-:Merosli sinf uchun konstruktor yaratishda u asosiy sinf nomi bilan bir xil nomga ega bo‘lishi kerak
-:Voris sinfini yaratganingizda, konstruktor yaratilmaydi. Voris sinfi konstruktori asosiy sinfning xossasi sifatida qabul qilinadi
-:Barcha javoblar to'g'ri
I:
S: Agar asosiy sinf va merosxo'r sinf o'rtasidagi murojat private bo'lsa, nima bo'ladi:
+:Asosiy sinfning protected va public xususiyatlari va usullari merosxo'r sinf uchun private bo'ladi.
-:Asosiy sinfning protected xususiyatlari va usullari merosxo'r sinf uchun public bo'ladi
-:Asosiy sinfning public xususiyatlari va usullari merosxo'r sinf uchun protected bo'ladi
-:Asosiy sinfning public xususiyatlari va usullari merosxo'r sinf uchun public bo'ladi.
I:
S: Bir nechta sinflardan meros olish jarayonini ko'rsating.
+:class Derived: Access Base_1, Access Base_2, …{ };
-:class Base_1, Base_2, …:Access Derived{};
-:class Derived: Access Derived_2: Access:Base{};
-:class Derived:{ Access Base1, Base2, …}{ };
I:
S: Vorislik bu-
+:Bir ob'ekt boshqa ob'ektning xossalari va usullarini oladi, ya'ni bir sinf boshqa sinfdan meros oladi.Birinchi sinfning barcha atributlari va usullari ikkinchi sinfga o'tadi.
-:Ob'ektlar tashqi omil ta'siridan himoyalanmagan, ya'ni ob'ektning o'zi boshqa ob'ektlarga tegishli, huquqlar berilmaydi.
-:Kirish huquqlari har doim ochiq bo'lgan yangi yaratilgan sinf.
-:Ob'ektlarni boshqa ob'ektga ko'chiradi
I:
S: To'plamli vorislik … uchun qo'llaniladi.
+:Voris sinfni ikkita va undan ortiq ota sinf xususiyatlari bilan ta'minlash.
-:Shablonlarni bir nechta bazaviy (ota) sinflari bilan ta'minlash.
-:Bir nechta shablon sinfni bazaviy (ota) sinflari bilan ta'minlash uchun.
-:Algoritmni u bilan ishlaydigan konkret ma'lumot turlaridan ajratish.
I:
S: #include using namespace std; class A{ private: int a = 25; int funk_1() { return a -10; } int funk_2() { return a*a; } public: int display() { return funk_1() + funk_2(); } }; class B:public A{ public: void result() { cout << " Result: " << display(); } }; int main() { B x; x.result(); } Ushbu dasturni bajarish jarayonida qanday natija ko'rsatiladi.
+:Result: 640
-:Result: 625
-:Result: 15
-:Result: 40
I:
S: Quyidagi dastur natijasini aniqlang #include using namespace std; template class Val{ public: T val; Val operator ++(){ val ++; return *this; } }; template<> class Val{ public: char val; Val operator ++(){ val = (val - 96) % 26 + 97; return *this; } }; int main(){ Vala; Valb; a.val = 6; b.val = 'v'; for(int i = (++a).val; i > 0; i --) cout << (++b).val; return 0; }
+:wxyzabc
-:vwxyzab
-:vwxyz{|
-:wxyz{|}
I:
S: Ushbu dasturni bajarish jarayonida qanday natija ko'rsatiladi. #include using namespace std; class A { public: A() { f(); } virtual void f() { cout << "A::f"; } }; class B : public A { public: void f() { cout << "B::f"; } }; int main( ) { A * a = new B(); delete a; return 0; }
+:A::f
-:B::f
-:А
-:f
I:
S: Quyidagi dasturda n soniga 9 kiritilsa dastur natijasini chop eting #include using namespace std; int get(int n){ return n < 2 ? n : get(n-1) + get(n-2); } int main(){ int n; cin >> n; cout << get(n); return 0; }
+:34
-:55
-:21
-:13
I:
S: Funksiyani qayta aniqlashga nisbatan quyidagi fikrlardan qaysi biri noto‘g‘ri
+:Funksiyani faqat bir marta qayta aniqlash mumkin.
-:Qayta aniqlangan funksiya bir xil qaytish turiga va bir xil parametrlar ro'yxatiga ega bo'lishi kerak.
-:Qayta aniqlangan funktsiyani sinf ichida bajarib bo'lmaydi.
-:Statik funktsiyani bekor qilib bo'lmaydi
I:
S: To'g'ri mulohozani tanlang:
+:do'stona funksiya sinf ichida e'lon qilinadi, sinf elementlariga murojat qilish imkoni mavjud bo’ladi
-:do'st funksiya oddiy funktsiya bo'lishi mumkin emas, faqat boshqa sinfning usuli
-:bitta funktsiya ko'p sinfga do’st bo’lishi mumkin
-:do'st funktsiya boshqa sinf metodi bo'lishi mumkin emas
I:
S: Agar asosiy sinf va merosxo'r sinf o'rtasidagi murojatlar public bo'lsa, unda nima bo'ladi:
+:Asosiy sinfning protected va public xususiyatlari va usullari mod ravishda merosxo'r sinf uchun protected va public bo'ladi.
-:Asosiy sinfning public va private xususiyatlari va usullari merosxo'r sinf uchun public bo'ladi
-:Asosiy sinfning protected va public xususiyatlari va usullari merosxo'r sinf uchun private bo'ladi.
-:Asosiy sinfning protected xususiyatlari va usullari merosxo'r sinf uchun public bo'ladi.
I:
S: #include using namespace std; class Inkapsulyatsiya { private: int x; public: void set(int a) { x =a; } int get() { return x; } }; int main() { Inkapsulyatsiya obekt; obekt.set(15); cout<+:15
-:A
-:set()
-:set(15)
I:
S: Agar merosxo'r sinfini yaratishda asosiy sinfga murojaat qilishda kirish darajasi (Kirish) ko'rsatilmagan bo'lsa, u holda qaysi kirish darajasi ishlaydi
+:Private
-:Protected
-:Public
-:Kirish darajasi belgilanishi kerak
I:
S: Quyidagi dastur qismi natijasini aniqlang.