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

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

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é!

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

Download bài tập lập trình hướng đối tượng c++ có kèm lời giải ngay tại đây

Để 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 tập xây dựng lớp phân số – Bài tập lập trình hướng đối tượng c++ có lời giải

Đề 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 hiệu quả ra màn hình hiển thị
Code thiết kế 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 tập quản lý Vận động viên

Đề 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 to 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 người tiêu dù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 hiển thị .
  • Nhập vào một mảng gồm n vận động viên .
  • Hiển thị list đã nhập ra màn hình hiển thị .
  • Sắp xếp mảng đã nhập theo thứ tự tăng dần, hiển thị list đã sắp ra màn hình hiển thị .

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 và operator >> ( istream và is, VanDongVien và 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 và operator < < ( ostream và 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 và 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 và a, VanDongVien và 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 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 kế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. 

5/5 – ( 1 bầu chọn )