1. Trang chủ
  2. » Giáo Dục - Đào Tạo

bai thuc hanh c phan 3

31 8 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

Tiêu đề Lớp (Class)
Trường học Trường Đại Học
Chuyên ngành C
Thể loại Bài thực hành
Định dạng
Số trang 31
Dung lượng 301,5 KB

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

Nội dung

 Nếu lớp lồng được khai báo với từ khoá private thì đối tượng của lớp lồng chỉ được tạo ra trong thân của lớp ngoài.  Các quy tắc truy nhập khác vấn được áp dụng.[r]

Trang 1

CHƯƠNG 3: LỚP (Class)

Trang 3

1 Lớp và các thành phần của lớp

định nghĩa các kiểu dữ liệu phức tạp

(user-defined types) và được sử dụng tương tự như kiểu dữ liệu có sẵn (built-in data types).

vấn đề trừu tượng như: số phức, ngày tháng, vector …

(implementation) và phần giao diện

(interface).

Trang 4

Định nghĩa lớp …

 Một lớp có chứa dữ liệu (member data)

và hàm (member function).

Class data1 data2 data3

functiona() functionb() functionc()

Trang 5

Khai báo lớp

{

private: // từ khóa cho biết không thể truy nhập từ ngoài lớp

unsigned int EmpID ; // member data

char EmpName[30];

float EmpSalary;

public: // từ khóa cho biết có thể truy nhập từ ngoài lớp

void AddEmployee(); // member function

};

Trang 6

Điều khiển truy nhập

Class private:

public:

data1 data2 functiond()

Phần được khai báo với từ khóa public có thể được truy nhập tạibất kỳ nơi nào trong chương trình

Trang 7

Ẩn dữ liệu

 Ẩn dữ liệu là kỹ thuật bảo vệ dữ liệu khỏi những truy nhập không hợp lệ.

 Đặt dữ liệu vào lớp với từ khóa private

 Dữ liệu private chỉ được truy nhập bên

trong lớp

 Dữ liệu hoặc hàm public có thể được truy nhập từ bên ngoài lớp.

Trang 8

2 Cài đặt các thành phần của lớp

 Dữ liệu thành phần

 Nên được khai báo với từ khoá private.

 Không được khởi tạo giá trị của dữ liệu thành

phần trong định nghĩa lớp.

Trang 10

 Sự tồn tại của dữ liệu thành phần tĩnh

không phụ thuộc vào sự tồn tại của đối

tượng thuộc lớp.

 Sau khi khai báo thành phần dữ liệu tĩnh ở trong lớp, phải khởi tạo giá trị cho nó ở

bên ngoài lớp.

Trang 11

Ví dụ: thành phần dữ liệu tĩnh

Trang 13

Ví dụ: hàm thành phần tĩnh

Trang 15

Ví dụ: khai báo lớp lồng

Trang 17

Ví dụ: Khai báo đối tượng

Trang 18

Đối tượng của lớp lồng

 Nếu lớp lồng được khai báo với từ khoá private thì đối tượng của lớp lồng chỉ được tạo ra trong thân của lớp ngoài

 Các quy tắc truy nhập khác vấn được áp dụng

Trang 20

Ví dụ: Hàm tạo mặc định

Trang 21

Chồng hàm tạo

 Một lớp có thể có nhiều hàm tạo với các tham số khác nhau (chồng hàm tạo)

Trang 22

Hàm tạo với giá trị mặc định

class Date

{

public:

// hàm tạo với các giá trị mặc định cu ủa day, month, year.

Date(int d=1, int m=1, int y=1900);

Trang 24

Hàm hủy (Destructor)

 Hàm hủy tự động được gọi khi đối tượng bị hủy

 Hàm hủy thường được sử dụng để giải phóng bộ nhớ

Trang 25

7 Sử dụng đối tượng

 Đối tượng làm tham số để truyền cho các hàm tương

tự như các kiểu xây dựng sẵn khác.

Trang 26

Ví dụ: Đối tượng làm tham số

Trang 27

Ví dụ: Đối tượng làm tham số

object d2

day month year

object d1

day month year d2.add_days(d1,65);

đối tượng d1

Trang 29

int year() const; // const

void add_year(int n); // non-const

Trang 30

Hàm thành phần hằng

 Const member function có thể được cả đối tượng const và const viện dẫn, nhưng non-const member function thì chỉ được các đối tượng non-const viện dẫn

non-void f(Date& d, const Date& cd)

Trang 31

Tự tham chiếu ( Self-Reference )

 Mỗi hàm thành phần biết đối tượng nào viện dẫn nó và có thể truy cập tới đối tượng đó một cách rõ ràng thông qua con trỏ this.

Ngày đăng: 29/04/2021, 00:17

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w