1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo Cáo Hướng Dẫn Giải Bài Tập Lập Trình Hướng Đối Tượng c++

38 388 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 38
Dung lượng 3,82 MB

Nội dung

Tài liệu hướng dẫn giải bài tập siêu dễ hiểu trong lập trình hướng đối tượng OOP Đây là một trong bộ tài liệu giải bài tập của ACE Joker lập trình viên thuộc dạng newbie giải với cách dễ hiểu nhất cho người mới bắt đầu bước chân vào lĩnh vực hướng đối tượng dạng bào tập số 2 trong series giải bài tập hướng đối tượng c++

Trang 1

ỦY BAN NHÂN DÂN TỈNH BÌNH DƯƠNG

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT KHOA KỸ THUẬT – CÔNG NGHỆ

š ¯ š

BÀI HƯỚNG DẪN MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Trang 2

MỤC LỤC

LỜI MỞ ĐẦU 3

CHƯƠNG 1: CÔNG CỤ VISUAL STUDIO 2017 4

I Giới thiệu công cụ hỗ trợ lập trình Visual Studio 2017 4

II Cài đặt Visual Studio Community 2017 4

1 Hệ điều hành 4

2 Về phần cứng 4

3 Về phần mềm 4

4 Cài đặt Visual Studio Community 2017 4

III Hướng dẫn tạo 1 project trong Microsoft Visual Studio (2017) 6

CHƯƠNG 2: KIẾN THỨC NỀN TẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 7

I Khái quát về các lệnh cơ bản trong C++ 7

1 Khai báo thư viện C++ 7

2 Hàm Main() là gì? 8

II Khai báo, khởi tạo và sử dụng Class trong C++ 8

1 Khai báo, khởi tạo và sử dụng Class trong C++ 8

2 Khai báo và sử dụng kế thừa 9

3 Tạo Project C++ đầu tiên với Visual Studio 10

CHƯƠNG 3: GIẢI BÀI TẬP 18

I Hướng dẫn giải bài tập trên Visual Studio 2017 18

1 Phân tích đề bài 18

2 Sơ đồ Class Diagram minh họa 19

3 Tạo file và tiến hành Code 19

CHƯƠNG 4: TỔNG KẾT 37

I Kết luận 37

1 Ưu điểm 37

2 Khuyết điểm 38

II Tài liệu bài hướng dẫn 38

2

Trang 3

LỜI MỞ ĐẦULập trình hướng đối tượng là một phương pháp lập trình cho phép thao tác trực tiếp trên cácđối tượng cụ thể, một chương trình viết theo hướng đối tượng được chia thành các lớp đốitượng, từ đó cho phép các đối tượng này có thể kế thừa đặc tính của các đối tượng khác vàhoạt động thông qua sự tương tác với các đối tượng khác nhờ cơ chế truyền thông báo Từ đó,giúp việc lập trình theo hướng đối tượng có được sự linh hoạt, tiện ích cho việc xây dựng vàphát triển phần mềm.

Ngày nay, lập trình hướng đối tượng được áp dụng rộng rãi trên thế giới, nó hầu như có thểthay thế hoàn toàn các phương pháp lập trình truyền thống để mang lại sự hiệu quả và tiện íchcho người sử dụng Các ngôn ngữ được sử dụng mạnh mẽ trong lập trình hướng đối tượng:C#, C++, Visual Basic, Java, Vì vậy, việc nghiên cứu phương pháp lập trình mới này thật sựquan trọng

Cuốn bài hướng dẫn này là tổng hợp ngắn gọn và kèm theo bài tập minh họa cơ bản về lậptrình hướng đối tượng trên C++ Nhằm phục vụ cho các bạn chưa vững kiến thức cơ bản vềlập trình hướng đối tượng hoặc các bạn muốn củng cổ kiến thức nền tảng về lập trình hướngđối tượng

Trang 4

CHƯƠNG 1: CÔNG CỤ VISUAL STUDIO 2017

Visual Studio 2017 Community là một IDE (Integrated Development Enviroment), là môi

trường phát triển tích hợp, một loại phần mềm giúp các nhà phát triển phần mềm phát triểnnên các loại phần mềm khác C++ là một ngôn ngữ lập trình đa mẫu hình tự do có kiểu tĩnh và

hỗ trợ lập trình thủ tục, dữ liệu trừu tượng, lập trình hướng đối tượng và lập trình đa hình

Để cài đặt Visual Studio Community 2017 (phiên bản này phù hợp cho giáo dục và miễn phí) hay những phiên bản khác như Professional và Enterprise, độc giả cần có môi trường

như sau

1 Hệ điều hành

 Windows 10 bản Home, Professional, Education, Enterprise với bản build 1507 trởlên

 Window 8.1 bản Core, Professional, Enterprise với bản cập nhật 2919355

 Window 7 bản Home Premium, Professional, Enterprise, Ultimate với bản cập nhật mới nhất

 Windows Server 2016 bản Standard và Datacenter

 Windows Server 2012 R2 bản Essentials, Standard, Datacenter với bản cập nhật 2919355

2 Về phần cứng

 CPU tốc độ 1.8 GHz trở lên, hai nhân trở lên được khuyến khích

 RAM tối thiểu 2GB (4GB được khuyến khích)

 Ổ cứng khả dụng từ 1GB - 40GB tùy vào số lượng công cụ bạn cài đặt Trong phạm vi bài viết, tôi chỉ hướng dẫn cài C++ nên ổ cứng khả dụng yêu cầu khoảng 5GB

 Độ phân giải máy tối thiếu là 720p (1280 x 720), Visual Studio sẽ hoạt động tốt từ

độ phân giải WXGA (1366 x 768) trở lên

3 Về phần mềm

 Nền tảng NET 4.5 trở lên được yêu cầu để cài đặt Visual Studio 2017

 Về yêu cầu phần mềm, tùy vào gói công cụ mà bạn cài đặt, sẽ có những yêu cầu đặc trưng phát sinh thêm

 Tuy nhiên với công cụ lập trình C++, những yêu cầu trên là đủ để cài đặt và khởi chạy ứng dụng viết bằng ngôn ngữ C++

4 Cài đặt Visual Studio Community 2017

Link tải: https://visualstudio.microsoft.com/downloads/

Sau khi tải Visual Studio Community 2017 Installer xong, tập tin sẽ có dạng như sau

Chạy tập tin trên với quyền Admin và chọn Continue khi có hộp thoại thông báo hiện ra

4

Trang 5

Nếu có yêu cầu Update, chọn Update (trong trường hợp trước đó bạn đã cài đặt Visual Studio

Trang 6

Lưu ý: Dù bạn chọn địa chỉ đường dẫn lưu công cụ này ở đâu, mặc định Visual Studio 2017

sẽ tải dữ liệu tạm vào partition chứa hệ thống (thông thường là C://) rồi mới tiến hành cài đặt

ở địa chỉ đường dẫn mà bạn thiết lập và sẽ tiến hành xóa dữ liệu tạm ấy khi cài đặt xong Do

đó hãy đảm bảo ổ C của bạn nên có dung lượng bộ nhớ khả dụng lớn hơn dung lượng bộ nhớ

mà công cụ yêu cầu

Sau khi thiết lập xong, chọn Install và chờ đợi việc cài đặt hoàn tất

Click double chuột trái vào Icon Visual Studio 2017 để khởi động chương trình

6

Trang 7

Sau khi khởi động, cửa sổ làm việc của chương trình sẽ có dạng như sau:

Như các bạn thấy thì giao diện chương trình tương đối đơn giản và trực quan Mục Start baogồm một số thao tác với project, mục Recent hiển thị những project mà bạn đã làm việc trước

đó Cả hai mục trên đều nằm trong tab Start Page của Visual Studio Lưu ý là ở mỗi phiên bảnVisual Studio sẽ có đôi chút khác biệt ở Start Page

CHƯƠNG 2: KIẾN THỨC NỀN TẢNG LẬP TRÌNH

HƯỚNG ĐỐI TƯỢNG

1 Khai báo thư viện C++

Để khai báo sử dụng thư viện trong C++ thì ta sử dụng cú pháp sau:

Trang 8

Từ khoá #include chỉ cho trình biên dịch biết rằng chúng ta cần sử dụng thư viện được khaibáo và nó sẽ tự động thêm vào cho chúng ta.

Tôi xin giới thiệu một số thư viện thường gặp trong lập trình C++:

 iostream.h ( thư viện này chứa hàm xuất nhập cout và cin)

 stdio.h ( nó chứa hàm scanf,printf )

 conio.h ( nó chứa hàm clrscr,getch )

 math.h ( nó chứa hàm toán học như sqrt, abs, pow)

 string.h (nó chứa các hàm về chuỗi )

Đối với một chương trình C++ nhập xuất căn bản thì bắt buộc ta phải sử dụng thư

viện iostream.h

2 Hàm Main() là gì?

 Sau khi các bạn đã hiểu thế nào là thư viện và cách khai báo sử dụng một thư viện như

thế nào thì chúng ta sẽ bắt đầu vào phần tiếp theo cần tìm hiểu đó là hàm main().

 Theo tiếng Anh main dịch ra có nghĩa là chính, quan trọng, vậy trong C++ nó cũng có

ý nghĩa như tên gọi đó Trong lập trình thì trình biên dịch sẽ xử lý code từ trên xuống

dưới và từ trái qua phải Nhưng với hàm main thì hơi đặc biệt chút, hàm main là nơi

chứa những đoạn code sẽ được chạy đầu tiên, nghĩa là khi biên dịch chương trình thì nội dung trong hàm main sẽ được chạy đầu tiên mà không quan trọng vị trí của nó trong file

Ở ví dụ này mình có sử dụng hàm xuất cout, hàm này sẽ in ra màn hình một dòng chữ nào đó

Ở ví dụ này mình có sử dụng hàm xuất cin, hàm này sẽ lấy kí tự được nhập từ bàn phím

Trong một chương trình C+ thì bắt buộc phải có hàm main và bạn không thể viết nội dung trong hàm main ở bên ngoài được vì như vậy sẽ bị báo lỗi ngay

II Khai báo, khởi tạo và sử dụng Class trong C++

1 Khai báo, khởi tạo và sử dụng Class trong C++

Cú pháp:

class <tên lớp>

8

Trang 9

<Phạm vi truy cập> <Các thành phần của lớp>;

}

Các loại phạm vi truy cập và ý nghĩa

Phạm vi truy cập là cách mà người lập trình quy định về quyền được truy xuất đến các thànhphần của lớp

class là từ khoá để khai báo lớp

<tên lớp con> là tên do người dùng đặt và tuân theo các quy tắc đặt tên

<tên lớp cha> là tên lớp mà ta muốn kế thừa các đặc tính của nó

Ví dụ:

void _xe::Nhapxe()

Trang 10

cout << "Nhan hieu la: " << nhanhieu;

cout << "so luong banh xe la: " << slbanhxe;

}

3 Tạo Project C++ đầu tiên với Visual Studio

Để tạo một project mới, các bạn có thể làm theo một trong 4 cách sau:

 Vào menu File ➙ New ➙ Project

 Nhấn tổ hợp phím Ctrl + Shift + N

 Nhấn vào biểu tượng New trên thanh công cụ

 Nhấn vào dòng New Project ở mục Start trong Start Page

Một cửa sổ sẽ hiện ra như sau:

10

Trang 11

Visual Studio cho phép chúng ta tạo project có dạng Win32 Console Application Cá nhân tôikhông khuyến khích các bạn tạo project theo kiểu này.

Trang 13

Giao diện sau khi tạo 1 Project:

Trang 14

Ngoài ra, Các bạn chọn mục Empty Project, đặt lại tên và đường dẫn cho project, sau đó bấm

OK Chương trình sẽ bắt đầu quá trình khởi tạo project Sau khi khởi tạo xong, cửa sổ làmviệc sẽ có dạng như sau:

Lưu ý là do chúng ta chọn Empty Project, chúng ta sẽ phải tự thực hiện các thao tác như viếthàm main, khai báo một số chỉ thị include, … Khuyến khích các bạn tạo Project kiểu này

14

Trang 15

Tạo file cpp và viết chương trình

Sau khi tạo xong project, việc các bạn cần làm là tạo một file cpp mới và bắt đầu viết chươngtrình

Chúng ta có thể thực hiện theo một trong 2 cách sau:

 Nhấn chuột phải vào tên Project/Filter, chọn Add ➙ New Item

 Chọn tên Project/Filter thích hợp và nhấn tổ hợp phím Ctrl + Shift + A

Sau đó chọn C++ File (.cpp), đặt lại tên và nhấn nút Add

Trang 16

Tới đây các bạn đã có thể bắt đầu viết chương trình đầu tiên của mình trên Visual Studio.

Sau đó các bạn code thử vài dòng như sau:

Trang 17

Nếu các bạn thấy xuất hiện cửa sổ như bên dưới là đồng nghĩa với việc chương trình của bạn

đã sẵn sàng để viết Code

Và ngược lại, nếu cửa sổ hiện ra như sau thì chương trình bạn đã Code sai hoặc gặp lỗi

Trang 18

CHƯƠNG 3: GIẢI BÀI TẬP

Link đề bài: https://drive.google.com/open?id=1U7KxCO-ERN7-uj01tqAqNsx2XNjz90l0

1 Phân tích đề bài

+ Hình vuông (đỏ): đại diện cho các lớp

+ Hình vuông (xanh): đại diện cho các thuộc tính

+ Hình tròn (đỏ): đại diện cho các phương thức

18

Trang 19

2 Sơ đồ Class Diagram minh họa

3 Tạo file và tiến hành Code

Tạo file cpp và file h

Sau khi tạo xong file Main.cpp, việc cần làm tiếp theo là tạo một file cpp mới và file.h, Chúng ta có thể thực hiện theo cách sau:

Trang 20

 Nhấn chuột phải vào tên Project/Filter, chọn Add ➙ Class.

Sau đó chọn đặt tên cho Class ở mục Class Name, h file và cpp file và nhấn nút OK

20

Trang 21

Giao diện sau khi tạo Class như bên dưới.

Trang 22

float gia; // Biến giá có kiểu float (Số thực)

int namsx; // Biến Năm sản xuất có kiểu int (Số nguyên)

22

Trang 23

float trongluong; // Biến trong lượng kiểu float

int slbanhxe; // Biến số lượng bánh xe kiểu int

public:

_xe(string _nhanhieu, float _gia, int _namsx, float _trongluong, int _slbanhxe);

// Hàm khởi tạo có tham số truyền vàovoid nhapxe(); // Hàm thực thi để Nhập dữ liệu

void xuatxe(); // Hàm thực thi để Xuất dữ liệu

};

Ở phần _xe.cpp, theo đề thì các bạn truyền giá trị vào trong các hàm đã khai báo trước đó

Trươc tiên mình sẽ làm với khởi tạo mặc định ,với các dòng Code:

Ở file Main.cpp, các bạn đưa vào các dòng Code:

using namespace std;

#include"_xe.h"

void main()

{

Trang 24

_xe xe_macdinh; // Đổi tên _xe thành xe_macdinh

xe_macdinh.xuatxe(); // Sử dụng (.) để gọi lại hàm Xuất cho nó thực thisystem("pause"); // Đây là lệnh dừng màn hình

}

Sau khi chạy chương trình chúng ta sẽ thu được kết quả như bên dưới:

Nhưng nếu trình bày như trên thì Code chúng ta sẽ vừa xấu vừa khó nhìn

Vậy, chúng ta sẽ thay đổi một xíu:

Ở phần _xe.cpp bạn gõ vào các dòng Code:

Trang 25

Kết quả sau khi chạy lại chương trình:

Trang 26

slcua = 4; // Gán giá trị cho số lượng cửa là 4

cout << "So luong cua: " << slcua << endl;

Trang 27

Giao diện sau khi chạy chương trình:

Trang 28

_xemay::_xemay() // Hàm khởi tạo mặc định

{

tocdomax = 150; // Gán giá trị tốc độ tối đa là 150

loaixe = 1; // Gán loại xe là 1 (1: Xe tay ga, 2: Xe số)

Trang 29

Tiếp theo đề thì: các bạn truyền giá trị vào trong các hàm đã khai báo trước đó Tiếp theo, mình sẽ làm với khởi tạo có tham số truyền vào ,với các dòng Code:

Chúng ta thêm dòng code bên dưới vào trong hàm _xe.h:

_xe(string _nhanhieu, float _gia, int _namsx, float _trongluong, int _slbanhxe);

// Hàm khởi tạo có tham số truyền vàovoid nhapxe(); // Hàm thực thi để Nhập dữ liệu

void xuatxe(); // Hàm thực thi để Xuất dữ liệu

nhanhieu = _nhanhieu; // Gán nhãn hiệu ban đầu bằng nhãn hiệu mới

Trang 30

namsx = _namsx; // Gán năm sản xuất ban đầu bằng năm sx mớitrongluong = _trongluong; // Gán trọng lượng ban đầu bằng trọng lượng mớislbanhxe = _slbanhxe; // Gán sl bánh xe ban đầu bằng sl bánh xe mới

Trang 32

Ở hàm _xemay.h ta làm như sau:

Trang 35

Ở hàm _oto.cpp ta Code:

#include "_oto.h"

{

cout << "\nNhap sl cua: "; // Câu lệnh thông báo nhập

cin >> slcua; // Giá trị nhập từ bàn phím là slcua

}

{

cout << "So luong cua: " << slcua << endl;

Trang 36

cout << "Toc do toi da: " << tocdomax << endl;

Trang 38

2 Khuyết điểm

Nhược điểm lớn nhất của lập trình hướng đối tượng đó là "buộc máy suy nghĩ như người" trong khi đó bản chất phần mềm là "người phải suy nghĩ như máy" (dù máy do con người tạo nên) Chính vì thế mà chẳng có ai dùng OOP để lập trình hệ điều hành

Ngày đăng: 12/07/2018, 19:57

TỪ KHÓA LIÊN QUAN

w