• NATIJASI: 4-MAVZU: Inkapsulyatsiya va merosxo‘rlik. 1-masala
  • NATIJASI: 5-MAVZU: Polimorfizm. 1-masala
  • NATIJASI: 7-MAVZU: Kontеynеrlar bilan ishlash 1-masala
  • NATIJASI: 8-MAVZU: Visual Studio muhitida komponentalardan unumli foydalangan holda dasturlar yaratish 1-masala
  • -MAVZU: Friend funksiyalar va sinflar




    Download 269,98 Kb.
    bet2/3
    Sana07.07.2024
    Hajmi269,98 Kb.
    #266872
    1   2   3
    3-MAVZU: Friend funksiyalar va sinflar.
    1-masala: Student classini yarating. Private maydon hosil qiling va
    unda studentning name, fam va kursi bo’lsin. Frienddan
    foydalangan holatda chop e’tuvchi funksiyani class bilan
    biriktiring.
    (Ism, fam va kurs konsulda kiritilsin)
    Kodi:
    #include
    using namespace std;
    class Student{
    private:
    string name;
    string fam;
    int kurs;
    public:
    Student(){}
    Student(string name, string fam, int kurs){
    this->name=name;
    this->fam=fam;
    this->kurs=kurs;
    }
    string getn(){
    return name;
    }
    string getf(){
    return fam;
    }
    int getk(){
    return kurs;
    }
    friend void print(Student*,int);
    };
    void print(Student *ob){
    cout << ob->getn() << " " << ob->getf() << " " << ob->getk() << endl;
    }
    int main(){
    Student ob;
    int k;
    string str1,str2;
    cout<<"Ismi: ";
    cin.ignore();
    getline(cin,str1);
    cout<<"Familiyasi: ";
    getline(cin,str2);
    cout<<"Kursi:";
    cin>>k;
    ob=Student(str1,str2,k);
    print(&ob);
    }

    NATIJASI:

    4-MAVZU: Inkapsulyatsiya va merosxo‘rlik.
    1-masala: Car1 va Car2 deb nomlangan classlar yarating.
    Car2 ga Car1 dan meros oling. Car1 da
    mashina brandi, modeli va yili bo’lsin. Car2da
    esa mashina rangi bo’lsin. Ularni chop
    qiluvchi funksiya orqali ularni konsulga
    chiqaring.
    Kodi:
    #include
    #include
    using namespace std;
    class Car1 {
    protected:
    string brand;
    string model;
    int yil;
    public:
    Car1(string b, string m, int y) {
    brand = b;
    model = m;
    yil = y;
    }
    void chop() {
    cout << "Avtomobil 1: " << brand << " " << model << " (" << yil <<
    ")" << endl;
    }
    };
    class Car2 : public Car1 {
    private:
    string color;
    public:
    Car2(string b, string m, int y, string c) : Car1(b, m, y) {
    color = c;
    }
    void chop() {
    cout << "Avtomobil 2: " << brand << " " << model << " (" << yil <<
    ")" << endl;
    cout << "Rangi: " << color << endl;
    }
    };
    int main() {
    Car1 car1("Matiz", "MX", 2021);
    Car2 car2("Honda", "Accord", 2022, "Qora");
    car1.chop();
    car2.chop();
    return 0;
    }

    NATIJASI:___7-MAVZU:_Kontеynеrlar_bilan_ishlash_1-masala'>NATIJASI:_5-MAVZU:_Polimorfizm._1-masala'>NATIJASI:
    5-MAVZU: Polimorfizm.
    1-masala: Xodim va Mudir nomli class yaratilsin. Ularning ismi va yoshi
    kiritilsin. Chop_qil nomli funksiya override qilinsin va u
    yordamida ularning ma’lumotlarini konsulda chiqarilsin.
    Kodi:

    NATIJASI:


    6-MAVZU: Funksiya va sinf shablon
    (template) lari bilan ishlash
    1-masala: Template yordamida ikkita sonni qo’shadigan
    va ularni juft yoki toq ekanligini aniqlaydigan
    funksiya shablonlari yaratilsin
    Kodi: #include
    using namespace std;
    template
    T summa(T a, T b) {
    return a + b;
    }
    template
    U tekshir(T a) {
    U t = true;
    if (a % 2 == 1) {
    t = false;
    }
    return t;
    }
    int main() {
    int a, b;
    cout << "Birir son kiriting: ";
    cin >> a;
    cout << "Ikkinchi son kiriting: ";
    cin >> b;
    cout << "Sonlarning yig'indisi: " << summa(a, b) << endl;
    cout << "Birinchi son ";
    if (tekshir(a)) {
    cout << "juft son" << endl;
    }
    else {
    cout << "toq son" << endl;
    }
    cout << "Ikkinchi son ";
    if (tekshir(b)) {
    cout << "juft son" << endl;
    }
    else {
    cout << "toq son" << endl;
    }
    return 0;
    }

    NATIJASI:


    7-MAVZU: Kontеynеrlar bilan ishlash
    1-masala: Deque konteyneridan foydalanib berilgan sonlarni chop
    qiling. Undan so’ng esa shu sonlar orasidan eng katta
    bo’lganini o’chirgan holatda qaytadan chop qiling.
    Kodi:
    #include
    #include
    using namespace std;
    int main() {
    deque dq = { 7,3,5,9,11,6 };
    for (auto it = dq.begin(); it != dq.end(); it++) {
    cout << *it << "\t";
    }
    cout << endl;
    auto max = dq.begin();
    for (auto it = dq.begin() + 1; it != dq.end(); it++) {
    if (*max < *it) {
    max = it;
    }
    }
    dq.erase(max);
    for (auto it = dq.begin(); it != dq.end(); it++) {
    cout << *it << "\t";
    }
    cout << endl;
    }

    NATIJASI:

    8-MAVZU: Visual Studio muhitida
    komponentalardan unumli foydalangan
    holda dasturlar yaratish
    1-masala: O’quvchi ma’lumotlarini kirituvchi dastur yarating. Unda
    o’quvchining ism familyasi kiritilgandan so’ng kirish
    tugmasi bosilgancha xush kelibsiz degan yozuv chiqsin,
    tozalash tugmasi bosilganda esa barcha ma’lumotlar
    tozalansin.
    Kodi: #pragma endregion
    private: System::Void Form1_Load(System::Object^
    sender, System::EventArgs^ e) {
    }
    private: System::Void
    label1_Click(System::Object^ sender,
    System::EventArgs^ e) {
    }
    private: System::Void
    button1_Click(System::Object^ sender,
    System::EventArgs^ e) {
    label3->Text = "Xush kelibsiz!";
    }
    private: System::Void label3_Click(System::Object^
    sender, System::EventArgs^ e) {
    }
    private: System::Void button2_Click(System::Object^
    sender, System::EventArgs^ e) {
    textBox1->Text = "";
    textBox2->Text = "";
    label3->Text = "";
    }

    Download 269,98 Kb.
    1   2   3




    Download 269,98 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    -MAVZU: Friend funksiyalar va sinflar

    Download 269,98 Kb.