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

Lập trình hệ điều hành Chapter 3 (cont).

19 503 1
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Mảng và con trỏ của đối tượng
Tác giả Hà Văn Sang
Trường học Học Viện Tài Chính
Chuyên ngành Tin học TC – KT
Thể loại bài giảng
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 19
Dung lượng 382 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lập trình hệ điều hành

Trang 1

02/09/24 19:27 1

Hà Văn Sang

Bộ môn: Tin học TC – KT

Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài

Chính

Tel: 0982.165.568

Email: sanghv@hvtc.edu.vn

Website: http://www.hvtc.edu.vn/sanghv

Lập trình hướng đối tượng

Trang 2

02/09/24 19:27 2

CHƯƠNG III

Trang 3

4 Mảng và con trỏ của đối tượng

Khai báo

<tên_lớp> <tên_mảng>[spt];

Ví dụ: SV sinhvien[50]; PS a[8];

<tên_lớp> *<tên_con_trỏ>;

Ví dụ: SV *p = sinhvien;

Trang 4

5 Hàm bạn và lớp bạn

Khái niệm hàm bạn:

 Hàm bạn của một lớp là hàm không phải là

thành phần của lớp

 Nhưng có khả năng truy xuất đến mọi thành

phần của đối tượng

Cú pháp:

friend <kiểu trả về> <tên hàm>(tham số);

Sau đó định nghĩa hàm ở ngoài lớp như các hàm

tự do khác

Trang 5

5 Hàm bạn và lớp bạn (tiếp)

Ví dụ:

 Xây dựng lớp PS với phép toán: +, -, toán tử

nhập (>>), toán tử xuất (<<)

Toán tử >>, << đã được xây dựng với các kiểu

dữ liệu chuẩn như int, char, float …

Với các kiểu dữ liệu mới ta phải xây dựng lại:

istream& operator>>(istream& is, PS &x);

Trả về bộ nhớ

đệm Phải thay đổi để phù hợp Giá trị có thể

thay đổi

Trang 6

5 Hàm bạn và lớp bạn (tiếp)

Nhận xét

 Hàm bạn không phải là hàm thành viên nên

không bị ảnh hưởng của từ khoá truy xuất

 Không hạn chế số lượng hàm bạn

 Hàm bạn của một lớp có thể là hàm tự do

 Hàm bạn của một lớp có thể là hàm thành phần của một lớp khác

Trang 7

5 Hàm bạn và lớp bạn (tiếp)

Khái niệm lớp bạn:

 Lớp A là lớp bạn của lớp B nếu trong B có

chứa khai báo:

friend class A;

Vậy:

Nếu A là lớp bạn của B thì mọi hàm thành phần

của A sẽ trở thành hàm bạn của B

Trang 8

6 Thành phần tĩnh

a Dữ liệu tĩnh

Khái niệm:

Là thành phần dữ liệu của lớp nhưng không gắn

cụ thể với đối tượng nào

Dùng chung cho toàn bộ lớp

Các đối tượng của lớp đều dùng chung thành

phần tĩnh này

Trang 9

6 Thành phần tĩnh

a Dữ liệu tĩnh

Khai báo:

static <kiểu dữ liệu> <tên thành phần>;

Ví dụ:

class PS{ int ts, ms;

static int count;

public:

PS(int m=0, int n=1){ ts=t; ms=m; count++;}

};

Trang 10

6 Thành phần tĩnh

a Dữ liệu tĩnh

Truy xuất:

Theo đối tượng (cách thông thường)

Ví dụ:

PS a;

a.count=0;

Theo lớp

Ví dụ:

PS::count=0;

Trang 11

6 Thành phần tĩnh

a Dữ liệu tĩnh

Chú ý:

 Tồn tại ngay khi chưa có đối tượng nào

Phải được khởi tạo trước khi đối tượng phát sinh

Phải khởi tạo ngoài mọi hàm theo cú pháp:

<kiểu dl> <tên lớp>::<tên thành phần dl> = <giá trị>;

Ví dụ: int PS::count=0;

Trang 12

Ví dụ:

• Xây dựng lớp Hóa đơn có một thành phần dữ liệu tĩnh để kiểm soát số đối tượng HĐ được cấp phát

Trang 13

6 Thành phần tĩnh

b Phương thức tĩnh

Khái niệm:

 là hàm thành phần của lớp nhưng không gắn

với đối tượng cụ thể nào

Dùng để thao tác chung cho lớp

Trong thân hàm không có đối tượng ẩn

static <kiểu dl trả về> <tên hàm>(tham số);

Ví dụ: xây dựng lớp SV gồm pt nhập, in 1 sinh

viên Nhập, in danh sách sinh viên

Trang 14

7 Thành phần hằng

a Dữ liệu hằng

Khái niệm:

 là thành phần dữ liệu của lớp nhưng không

thay đổi giá trị trong quá trình tồn tại

Ví dụ: Với lớp nhân sự thì số CMT là tp hằng

Khai báo:

const <kiểu dl> <tên thành phần>;

Thành phần hằng không thể thay đối sau khi đối tượng được hình thành

Trang 15

7 Thành phần hằng

a Dữ liệu hằng

Xác định giá trị:

 ở hàm khởi tạo

Ví dụ: NS(int k=0):scmt(k){…}

Cú pháp

<tên lớp>([ds tham số]):<tp hằng 1>(đối số)

,<tp hằng 2>(đối số)

….

{

//thân hàm khởi tạo

}

Trang 16

7 Thành phần hằng

b Phương thức hằng

Khái niệm:

 là hàm thành phần của lớp nhưng không có

khả năng thay đổi thành phần dl trong đối tượng

Ví dụ: Với lớp PS thì phương thức in() là hằng

Khai báo:

<kiểu dl trả về> <tên hàm>(tham số) const ;

Định nghĩa:

<kiểu dl trả về> <tên lớp>::<tên hàm>(tham số) const

{ //thân hàm }

Trang 17

8 Thành phần đối tượng

Khái niệm:

 là thành phần dữ liệu của lớp có kiểu là một

lớp khác

Khai báo:

<tên lớp> <tên thành phần dữ liệu>

Ví dụ: thành phần ns của lớp SV là đối tượng lớp

date

Trang 18

Bài tập (week 5)

• Xây dựng các toán tử nhập >>, xuất << của các

bài tập trong tuần 4

• Nạp chồng các toán tử ==, !=, >, <, >=, <= của

các bài tập trong tuần 4

Trang 19

Qui cách nộp bài

Gửi tới địa chỉ: sanghv@gmail.com

CC: sanghv@hvtc.edu.vn

Tiêu đề:

[Lớp][BT3][Stt][Họ và tên]

Ví dụ:

[K43/41.01][BT3][14][Lê hoàng Vũ]

Hạn nộp: 23h59’ ngày 29/01/2008

Ngày đăng: 01/11/2012, 16:37

TỪ KHÓA LIÊN QUAN