
5/10/2013
1
BÀI GiẢNG
LẬP TRÌNH HƯỚNG ĐỐITƯỢNG
LẬP
TRÌNH
HƯỚNG
ĐỐI
TƯỢNG
Giảng viên: Huỳnh Thị Thu Thủy
Số tiết lý thuyết: 45
Số tiết thực hành: 30
Tài liệu tham khảo
1. Lập trình hướng đối tượng C++,Trần Văn
Lăhâ iệCô hệthô ti
Lă
ng, p
hâ
n v
iệ
n
Cô
ng ng
hệ
thô
ng
ti
n
TPHCM, NXB Thống kê, 1996
2. Giáo trình ngôn ngữ lập trình hướng đối
tượng với C++, Nguyễn Chí Trung, NXB
Hà Nội, 2005
5/10/2013 2ThS. Huỳnh Thị Thu Thuỷ
Giới thiệu
•Chương 1: Tổng quan về lập trình hướng đối
tượng
tượng
.
•Chương 2: Lớp và thực thể.
•Chương 3: Quá tải hàm.
•Chương 4: Quá tải toán tử.
•Chương 5: Tính thừa kế.
•
Chương 6
:
Hệthống nhậpxuấtC++
•
Chương
6
:
Hệ
thống
nhập
xuất
C++
.
•Chương 7: Sự kết nối động.
•Chương 8: Hàm và lớp chung
35/10/2013 ThS. Huỳnh Thị Thu Thuỷ
Chương 1: Tổng quan về
lập trình hướng đối tượng
1. Giới thiệu ngôn ngữ C++
2. Lập trình hướng đối tượng là gì
3. Các ngôn ngữ và ứng dụng OOP
4. Sự đóng kín (Encapsulation)
5
Tính đahình(Polymorphism)
5
.
Tính
đa
hình
(Polymorphism)
6. Tính thừa kế (Inheritance)
7. Phương thức ảo (Virtual method)
45/10/2013 ThS. Huỳnh Thị Thu Thuỷ

5/10/2013
2
1. Giới thiệu ngôn ngữ C++
a. Các kiểu dữ liệu cơ bản
ể ố
-Ki
ể
u s
ố
nguyên: int
-Kiểu số thực: float
-Kiểu số nguyên dài: long
-Kiểu kí tự: char
-Kiểu chuỗi: char *
55/10/2013 ThS. Huỳnh Thị Thu Thuỷ
1. Giới thiệu ngôn ngữ C++ (tt)
b. Khai báo dữ liệu
Khai báo biến
Khai
báo
biến
Cú pháp: <tên kiểu> <tên biến>;
Ví dụ:
•Biến nguyên a: int a;
•
Biếnthựcx,y: floatx,y;
Biến
thực
x,y:
float
x,y;
•Biến chuỗi st: char * st;//cấp phát bộ nhớ
Hoặc char st[<n>] ; // không cần gọi cấp
(với n nguyên dương) phát bộ nhớ
65/10/2013 ThS. Huỳnh Thị Thu Thuỷ
1. Giới thiệu ngôn ngữ C++ (tt)
Các vị trí khai báo biến
-
Bắtđầucủamộtkhối:
-
Bắt
đầu
của
một
khối:
- VD: void main()
{ int n; …. ; float b; }
- Bên ngoài hàm:
- VD: int n;
void main() { … }
-Đối số hàm:
- VD: long giaithua( int n ) { … }
75/10/2013 ThS. Huỳnh Thị Thu Thuỷ
1. Giới thiệu ngôn ngữ C++ (tt)
Khai báo hằng
•Cách 1:
const <tên kiểu> <tên hằng> = <giá trị>;
-Ví dụ:
const float PI=3.1416;
const max=100;//mac nhien int
const char * st=“Tin hoc”;
85/10/2013 ThS. Huỳnh Thị Thu Thuỷ

5/10/2013
3
1. Giới thiệu ngôn ngữ C++ (tt)
•Cách 2:
#d fi tê hằiá t ịhằ
#d
e
fi
ne <
tê
n
hằ
ng> <g
iá
t
r
ị
hằ
ng>
- Ví dụ:
#define PI 3.1416
#define max 100
#define st “Tin hoc”
95/10/2013 ThS. Huỳnh Thị Thu Thuỷ
1. Giới thiệu ngôn ngữ C++ (tt)
c. Xuất nhập dữ liệu
Lệnh xuất: Sửdụng toán tử
chèn(
<<
)
kếthợp
Lệnh
xuất:
Sử
dụng
toán
tử
chèn( )
kết
hợp
với luồng xuất cout.
–Cần khai báo file tiêu đề iostream.h
–Ví dụ:
• In ra màn hình dòng chữ: “Tin hoc”
cout<<“Tin hoc”
;
;
• In ra màn hình “BORLAND C++”
“VERSION 4.5”
cout<<“BORLAND C++\nVERSION 4.5”
•In nội dung 2 biến a,b: cout<<a<<b;
105/10/2013 ThS. Huỳnh Thị Thu Thuỷ
1. Giới thiệu ngôn ngữ C++ (tt)
Lệnh nhập: Sử dụng toán tử chiết (>>)kết
hợp với luồng nhập cin.
ầ ề
–
C
ầ
n khai báo file tiêu đ
ề
iostream.h
–Ví dụ:
•Nhập số nguyên a:
cin>>a;
•Nhập 2 số thực x,y:
cin>>x>>y;
cin>>x>>y;
•Nhập chuỗi st:
cin>>st; //chuỗi nhập không có khoảng trắng
gets(st); // chuỗi nhập có khoảng trắng
file tiêu đề stdio.h
115/10/2013 ThS. Huỳnh Thị Thu Thuỷ
1. Giới thiệu ngôn ngữ C++ (tt)
d. Cấu trúc điều khiển
Cấu trúc if
if (<biểu thức điều kiện>)
{ <công việc 1>; }
else { <công việc 2>; }
Ý nghĩa: Nếu <biểu thức điều kiện> có giá
trị khác 0 thì thực hiện <công việc 1>
ngược lại thực hiện <công việc 2>.
125/10/2013 ThS. Huỳnh Thị Thu Thuỷ

5/10/2013
4
1. Giới thiệu ngôn ngữ C++ (tt)
Ví dụ 1: Viết CT nhập vào 1 số nguyên dương.
Cho biếtsố đólàchẵn hay lẻ
Cho
biết
số
đó
là
chẵn
hay
lẻ
.
#include<iostream.h>
main()
{ int n;
cout<<“nhap so:”; cin>>n;
if
(
n>0
)
()
if (n%2 ==0) cout<<“n chan”;
else cout<<“n le”;
else cout<<“khong xet”;
return 0; }
135/10/2013 ThS. Huỳnh Thị Thu Thuỷ
1. Giới thiệu ngôn ngữ C++ (tt)
Ví dụ 2: Viết CT nhập vào 3 số nguyên a,b,c. Cho
biết
g
iá tr
ị
số lớn nhất.
gị
#include<iostream.h>
main()
{ int a,b,c;
cout<<“nhap 3 so nguyen:”; cin>>a>>b>>c;
if (a>b)
if (
a>c
) cout<<
“
so lon nhat la
”
<<a;
if
(
a>c
)
cout<< so
lon
nhat
la <<a;
else cout<<“so lon nhat la”<<c;
else if (b>c) cout<<“so lon nhat la”<<b;
else cout<<“so lon nhat la”<<c;
return 0; }
145/10/2013 ThS. Huỳnh Thị Thu Thuỷ
1. Giới thiệu ngôn ngữ C++ (tt)
Cấu trúc switch … case
switch (<biểu thức>)
{ case <giá trị 1>: {<công việc 1>; break;}
case <giá trị 2>: <công việc 2>; break;
. . .
case <giá trị n>: <công việc n>; break;
default: <công việc n+1>;
}
155/10/2013 ThS. Huỳnh Thị Thu Thuỷ
1. Giới thiệu ngôn ngữ C++ (tt)
Ví dụ:Viết CT nhập một số nguyên từ 1 đến 7.
Cho biết thứ tương ứng với số trong tuần.
#i l d i t h
#i
nc
l
u
d
e<
i
os
t
ream.
h
>
main()
{ int so; cout<<“nhap so:”; cin>>so;
switch(so)
{ case 1: cout<<“Chu nhat”; break;
…
case 7: cout<<“Thu bay”; break;
default: cout<<“Khong xet”;
}
return 0; }
165/10/2013 ThS. Huỳnh Thị Thu Thuỷ

5/10/2013
5
1. Giới thiệu ngôn ngữ C++ (tt)
Cấu trúc for
for (<biểu thức 1>; <biểu thức 2>; <biểu thức 3>)
{ <công việc>; }
Trong đó:
+<Biểuthức
1
>: câu lệnh khởitạogiátrịban đầu cho biếnchạy
+
<Biểu
thức
1
>:
câu
lệnh
khởi
tạo
giá
trị
ban
đầu
cho
biến
chạy
.
+ <Biểu thức 2>: điều kiện để thực hiện công việc của for.
+ <Biểu thức 3>: câu lệnh giúp làm thay đổi giá trị <biểu thức 2>.
175/10/2013 ThS. Huỳnh Thị Thu Thuỷ
1. Giới thiệu ngôn ngữ C++ (tt)
•Lưu đồ cấu trúc for
Vào
<Bthức 1>
<Bthức 2>
Vào
Sai (=0)
<Bthức 3><công việc>
Ra
Đúng (0)
185/10/2013 ThS. Huỳnh Thị Thu Thuỷ
1. Giới thiệu ngôn ngữ C++ (tt)
Ví dụ 1: Viết CT in các số từ 1 đến n
#i l d i h
#i
nc
l
u
d
e<
i
ostream.
h
>
main()
{ int n;
cout<<“nhap n:”; cin>>n;
if
(
n>0
)
(
)
for (int i=1; i<=n; i++)
cout<<i<<“ ”;
return 0; }
195/10/2013 ThS. Huỳnh Thị Thu Thuỷ
1. Giới thiệu ngôn ngữ C++ (tt)
Ví dụ 2: Viết CT nhập số nguyên dương n. In
ra màn hình số chẵn <=n trên 1 dòng, số lẻ <=n
trên dòng khác
trên
dòng
khác
.
#include<iostream.h>
void main()
{int n; cout<<“nhap n:”; cin>>n;
if (n>0)
{for (int i=2; i<=n; i++)
if (i%2==0) cout<<i<<
“”
;
if
(i%2==0)
cout<<i<<
;
cout<<“\n”;
for (int i=1; i<=n; i++)
if (i%2!=0) cout<<i<<“ ”; }
else cout<<“Khong xet”; }
205/10/2013 ThS. Huỳnh Thị Thu Thuỷ

