Tải bản đầy đủ (.ppt) (25 trang)

OOP_ch01_Introduce OOP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (386.87 KB, 25 trang )

LAÄP TRÌNH
HÖÔÙNG ÑOÁI TÖÔÏNG
07/06/13
Lập Trình Hướng Đối Tượng Slide 2
Tóm tắt nội dung môn học

Phần 1: Giới thiệu

Phần 2: Các khái niệm cơ bản

Phần 3: Lớp và đối tượng

Phần 4: Kỹ thuật thừa kế và tính đa hình

Phần 5: Thiết kế chương trình hướng đối tượng

Phần 6: Khuôn mẫu (template)

Phần 7: Luồng nhập xuất

Phần 8: Cacù mẫu thiết kế hướng đối tượng
07/06/13
Lập Trình Hướng Đối Tượng Slide 3
Tài liệu tham khảo

Stroustrup, Bjarne. The C++ Programming Language, 3rd Ed.

Dietel & Dietel. C++ How to Program, 3rd Ed. 2003

Eckel, Bruce. Thinking in C++, 2nd Ed. Vol 1. Vol.2.


Nguyễn Thanh Thủy …, Lập trình hướng đối tượng với C++. NXB
Khoa học kỹ thuật.

Gamma: Design Patterns. Addison-Wesley, 1998.
LAP TRèNH
HệễNG ẹOI
TệễẽNG
Chửụng 1: Giụựi thieọu
07/06/13
Lập Trình Hướng Đối Tượng Slide 5
C++ và C

Sự mở rộng thứ nhất của C++ so với C

Hàm xuất/nhập chuẩn

Tham chiếu

Chồng hàm, Tham số có giá trò ngầm đònh

Toán tử cấp phát và giải phóng vùng nhớ động

Sự mở rông thứ hai của C++ so với C là hỗ trợ
lập trình hướng đối tượng
07/06/13
Lập Trình Hướng Đối Tượng Slide 6
Haøm cin/cout/cerr
#include <iostream.h>
void main() {
int n;

double d;
char s[100];
cout << “Input an int, a double and a string.”;
cin >> n >> d >> s;
cout << “n = “ << n << “\n”;
cout << “d = “ << d << “\n”;
cout << “s = “ << s << “\n”;
}
07/06/13
Lập Trình Hướng Đối Tượng Slide 7
Tham chiếu

Tham chiếu là đòa chỉ vùng nhớ được cấp phát cho một
biến.

Ký hiệu & đặt trước biến hoặc hàm để xác đònh tham
chiếu của chúng

Ví dụ 1:

int x = 10, *px = &x, &y = x;

*px = 20; // *px = x = y = 20

y = 30; // y = x = *px = 30

Ví dụ 2:

int arrget(int *a, int i) { return a[i]; }


arrget(a, 1) = 1; // a[1] = 1;

cin >> arrget(a,1); // cin >> a[1];

Ví dụ 3:

void swap1(int x, int y) { int t = x; x = y; y = t; }

void swap2(int *x, int *y) { int *t = x; x = y; y = t; }

void swap3(int &x, int &y) { int t = x; x = y; y = t; }
07/06/13
Lập Trình Hướng Đối Tượng Slide 8
Choàng haøm
(Functions overloading )
int abs(int i);
long labs(long l);
double fabs(double d);
int abs(int i);
long abs(long l);
double abs(double d);
int abs(int i) { return abs(i);}
long abs(long l) { return labs(l);}
double abs(double d) { return fabs(d);}
void test_abs() {
int i = abs(10);// abs(int )
long l = abs(-10l); // abs(long )
double = abs(0.1l); // abs(double )
}
07/06/13

Lập Trình Hướng Đối Tượng Slide 9
Tham số ngầm đònh trong lời gọi hàm
void inc(int &a, int b = 1) {
a = a + b;
}
int x = 5, y = 10;
inc(x, 10); // x = x + 10
inc(y); // y = y + 1
Chú ý:

Các tham số có giá trò ngầm đònh phải đặt cuối danh
sách tham số, để tránh nhầm lẫn các giá trò.

Các giá trò ngầm đònh của tham số chỉ được khai
báo trong khuôn mẫu hàm
07/06/13
Lập Trình Hướng Đối Tượng Slide 10
Toán tử quản lý bộ nhớ động

Toán tử cấp phát bộ nhớ động new
int *x;
x = new int; // x = (int*)malloc(sizeof(int));
char *y;
y = new char[100]; // y =
(char*)malloc(100);

Toán tử giải phóng vùng nhớ động delete
delete x; // free(x);
delete y; // free(y);

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×