Bài tập hướng đối tượng c++

Trung Tâm Việc Làm Vui Academy, Tìm Việc làm Nhanh 24h,
Đăng Tuyển dụng miễn phí - Chi nhánh công ty MBN

ViecLamVui là dự án giữa MBN và Cổng Tri Thức Thánh Gióng Trung Ương Hội Liên Hiệp Thanh Niên

Địa chỉ: L3 Tòa nhà MBN Tower 365 Lê Quang Định, phường 5, quận Bình Thạnh, Thành phố Hồ Chí Minh, Việt Nam

Email:

Không cần làm hồ sơ CV trên máy tính. Click chọn điền thông tin bằng điện thoại. Chat Nhanh có việc ngay

Lập trình hướng đối tượng chính là kiến thức cơ bản của hầu hết tất cả những ngôn ngữ lập trình hiện nay. Chính vì vậy, chỉ cần bạn hiểu sâu thì có thể áp dụng chúng một cách dễ dàng. Trong bài viết sau, chúng tôi sẽ giới thiệu đến bạn một số bài tập lập trình hướng đối tượng c++ có lời giải dễ hiểu nhất. Cùng tìm hiểu nhé!

Bài tập hướng đối tượng c++

Lập trình hướng đối tượng chính là kiến thức cơ bản của hầu hết tất cả những ngôn ngữ lập trình hiện nay

Để xem các bài tập lập trình hướng đối tượng C++ chi tiết nhất, cụ thể nhất bạn hãy tải ngay bộ tài liệu sau:

Download

Đề bài:

Xây dựng lớp Phanso gồm:

Thuộc Tính: tuso, mauso.

Phương thức:

  • Hàm Khởi Tạo Không Tham Số, Hàm Hủy
  • Nhập , Xuất
  • Cong(), Tru(), Nhan(), Chia()

Tính Tổng, Hiệu, Tích, Thương 2 phân số obj1 và obj2 rồi in kết quả ra màn hình

Code xây dựng class Phân số:

#include

using namespace std; 

class Phanso

{

private:

    int tuso, mauso;

public:

    Phanso()

    {

        tuso = 0;

        mauso = 1;

    }

    ~Phanso()

    {

        tuso = 0;

        mauso = 1;

    }

//—————————————————————–//

    void set()

    {

        cout << “Nhap Tu So: “; cin >> this->tuso;

        cout << “Nhap Mau So: “; cin >> this-> mauso;

    }

    void get()

    {

        cout << this->tuso << “/” << this->mauso << endl;

    }

//—————————————————————–//

    Phanso Cong(Phanso obj1, Phanso obj2)

    {

        Phanso obj3;

        obj3.tuso = obj1.tuso * obj2.mauso + obj1.mauso * obj2.tuso;

        obj3.mauso = obj1.mauso * obj2.mauso;

        return obj3;

    }

    Phanso Tru(Phanso obj1, Phanso obj2)

    {

        Phanso obj3;

        obj3.tuso = obj1.tuso * obj2.mauso – obj1.mauso * obj2.tuso;

        obj3.mauso = obj1.mauso * obj2.mauso;

        return obj3;

    }

    Phanso Nhan(Phanso obj1, Phanso obj2)

    {

        Phanso obj3;

        obj3.tuso = obj1.tuso * obj2.tuso;

        obj3.mauso = obj1.mauso * obj2.mauso;

        return obj3;

    }

    Phanso Chia(Phanso obj1, Phanso obj2)

    {

        Phanso obj3;

        obj3.tuso = obj1.tuso * obj2.mauso;

        obj3.mauso = obj1.mauso * obj2.tuso;

        return obj3;

    }

};

int main()

{

    Phanso obj1, obj2, obj3;

    obj1.set(); obj2.set();

    obj3 = obj3.Cong(obj1, obj2); obj3.get();

    obj3 = obj3.Tru(obj1, obj2); obj3.get();

    obj3 = obj3.Nhan(obj1, obj2); obj3.get();

    obj3 = obj3.Chia(obj1, obj2); obj3.get();

    return 0;

}

Input: 

1 2

3 4 

Output 

10/8

-2/8

3/8

4/6

Đề bài:

Xây dựng lớp vận động viên VanDongVien gồm:

Thuộc tính: hoten (chuỗi ký tự), tuoi (số nguyên), monthidau (chuỗi ký tự), cannang (số thực), chieucao (số thực).

Phương thức:

  • Thiết lập không tham số.
  • Thiết lập 5 tham số
  • Hủy bỏ
  • Nạp chồng toán tử nhập >>
  • Nạp chồng toán tử xuất <<
  • Nạp chồng toán tử so sánh > (một vận động viên là lớn hơn nếu chiều cao lớn hơn, trong trường hợp chiều cao bằng nhau thì xét cân nặng lớn hơn)

Xây dựng chương trình chính:

  • Khai báo p là đối tượng lớp Vandongvien (sử dụng hàm thiết lập 5 tham số), hiển thị thông tin của p ra màn hình.
  • Nhập vào một mảng gồm n vận động viên.
  • Hiển thị danh sách đã nhập ra màn hình.
  • Sắp xếp mảng đã nhập theo thứ tự tăng dần, hiển thị danh sách đã sắp ra màn hình.

Bài tập hướng đối tượng c++

Một số bài tập lập trình hướng đối tượng c++ có lời giải dễ hiểu nhất

Lời Giải:

#include

using namespace std;

class VanDongVien

{

protected:

    string hoten, monthidau;

    int tuoi;

    float cannang, chieucao;

public:

    VanDongVien()

    {

        this->hoten = this->monthidau = “”;

        this->tuoi = 0;

        this->cannang = this->chieucao = 0;

    }

    VanDongVien(string hoten, string monthidau, int tuoi, float cannang, float chieucao)

    {

        this->hoten = hoten;

        this->monthidau = monthidau;

        this->tuoi = tuoi;

        this->cannang = cannang;

        this->chieucao = chieucao;

    }

    ~VanDongVien()

    {

        this->hoten = this->monthidau = “”;

        this->tuoi = 0;

        this->cannang = this->chieucao = 0;

    }

    //———————————————-//

    friend istream &operator>>(istream &is, VanDongVien &obj)

    {

        cin.ignore();

        cout << “Nhap Ho Ten: “; fflush(stdin); getline(is, obj.hoten);

        cout << “Nhap Mon Thi Dau: “; fflush(stdin); getline(is, obj.monthidau);

        cout << “Nhap Tuoi: “; is >> obj.tuoi;

        cout << “Nhap Can Nang: “; is >> obj.cannang;

        cout << “Nhap Chieu Cao: “; is >> obj.chieucao;

        return is;

    }

    friend ostream &operator<<(ostream &os, VanDongVien obj)

    {

        cout << “Ho Ten: ” << obj.hoten << endl;

        cout << “Mon Thi Dau: ” << obj.monthidau << endl;

        cout << “Tuoi: ” << obj.tuoi << endl;

        cout << “Can Nang: ” << obj.cannang << endl;

        cout << “Chieu cao: ” << obj.chieucao << endl;

        return os;

    }

    bool operator > (const VanDongVien &obj)

    {

        if (this->chieucao > obj.chieucao)

            return true;

        else if (this->chieucao < obj.chieucao)

            return false;

        else if (this->cannang > obj.cannang)

            return true;

        else

            return false;

    }

};

void swap(VanDongVien &a, VanDongVien &b)

{

    VanDongVien temp = a;

    a = b;

    b = temp;

void Bubblesort(VanDongVien arr[], int n)

{

    for (int i = 0; i < n – 1; i++)

        for (int j = 0; j < n – i – 1; j++)

            if (arr[j] > arr[j + 1])

                swap(arr[j], arr[j + 1]);

}

int main()

{  

    VanDongVien p(“Nguyen Van A”, “Bong Da”, 20, 178, 70.5);

    cout << p;

       cout << “Nhap So Luong: “; int n; cin >> n;

    VanDongVien *arr = new VanDongVien[n]; 

    for (int i = 0; i < n; ++i) cin >> arr[i];

    cout << endl << endl;

    for (int i = 0; i < n; ++i) cout << arr[i] << endl;

    cout << “Sort” << endl;

    Bubblesort(arr,n);

    for (int i = 0; i < n; ++i) cout << arr[i] << endl;

    return 0;

}

Input

3

Nguyen Van B

Cau Long

20

80

190

Nguyen Van C

Bong Chuyen

21

78

188

Nguyen Van D

Boi Loi

19

81

188

Output

Ho Ten: Nguyen Van A

Mon Thi Dau: Bong Da

Tuoi: 20

Can Nang: 178

Chieu cao: 70.5

Ho Ten: Nguyen Van B

Mon Thi Dau: Cau Long

Tuoi: 20

Can Nang: 80

Chieu cao: 190

Ho Ten: Nguyen Van C

Mon Thi Dau: Bong Chuyen

Tuoi: 21

Can Nang: 78

Chieu cao: 188

Ho Ten: Nguyen Van D

Mon Thi Dau: Boi Loi

Tuoi: 19

Can Nang: 81

Chieu cao: 188

Sort

Ho Ten: Nguyen Van C

Mon Thi Dau: Bong Chuyen

Tuoi: 21

Can Nang: 78

Chieu cao: 188

Ho Ten: Nguyen Van D

Mon Thi Dau: Boi Loi

Tuoi: 19

Can Nang: 81

Chieu cao: 188

Ho Ten: Nguyen Van B

Mon Thi Dau: Cau Long

Tuoi: 20

Can Nang: 80

Chieu cao: 190

Bài tập hướng đối tượng c++

Trong công việc, lập trình hướng đối tượng c++ quả thực rất hữu ích và cần thiết

Trong công việc sau này, lập trình hướng đối tượng c++ quả thực rất hữu ích và cần thiết. Mong rằng với những bài tập lập trình hướng đối tượng c++ có lời giải được chia sẻ bên trên sẽ giúp bạn có thêm nhiều kiến thức về ngôn ngữ lập trình này. Ngoài ra, bạn cũng có thể tham gia vào các diễn đàn, blog, trang web… để có thêm nhiều thông tin hữu ích hơn cho bản thân.