1. Trang chủ
  2. » Giáo án - Bài giảng

Bài thuyết trình c plus plus chinhthuc

20 451 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 20
Dung lượng 1,05 MB

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

Nội dung

Khái niệm : Lớp là tập hợp những đối tượng có chung một kiểu thuộc tính Lớp có 2 thành phần chính Thành viên dữ liệu ( Data member ) Hàm thành viên ( Member function ) Ví dụ : Định nghĩa lớp , mô tả và xử lý các điểm trên màn hình đồ họa . Lớp được đặt tên là “điểm “. include using namespace std; class diem { private: int x,y,m; public: void nhapsl(); void hien(); void set_value(int putpixel,int getbkcolor) { putpixel(x,y,getbkcolor()); }; void diem::nhap() { cout>x>>y; cout>m; } void set_value(int mau_ht,int ) { int mau_ht; mau_ht=getbkcolor(); putpixel(x,y,m); setcolor(mau_ht); }; void main() { diem a; a.nhap(); a.hien(); getch(); } } Hàm thành viên : định nghĩa bên trong lớp .

Trang 1

LỚP , HÀM FRIEND VÀ CÁC THÀNH VIÊN TĨNH CỦA LỚP

TRƯỜNG ĐẠI HỌC QUẢNG BÌNH

KHOA KỸ THUẬT – CÔNG NGHỆ



NGÔN NGỮ LẬP TRÌNH C PLUS PLUS

Nhóm thực hiện :

1 Cao Đức Nghĩa

2 Mai Thanh Sang

3 Phạm Hữu Phú

4 Trần Nhật Linh

Trang 2

Nội dung

LỚP

1

CÁC THÀNH VIÊN TĨNH CỦA LỚP

2

HÀM FRIEND ( HÀM BẠN )

3

Trang 3

1 Lớp

Chữ

 Khái niệm :

 Lớp là tập hợp những đối tượng có chung một kiểu thuộc tính

 Lớp có 2 thành phần chính

 Thành viên dữ liệu ( Data member )

 Hàm thành viên ( Member function )

Ví dụ : Định nghĩa lớp , mô tả và xử lý các điểm trên màn hình đồ họa Lớp được đặt tên là “điểm “

Trang 4

#include <iostream>

using namespace std;

class diem

{

private:

int x,y,m;

public:

void nhapsl();

void hien();

void set_value(int putpixel,int getbkcolor)

{

putpixel(x,y,getbkcolor());

};

void diem::nhap()

{

cout<<"\n nhap hoanh do (cot) va tung do ( hang ) cua diem :";cin>>x>>y; cout<<"\n nhap ma mau cua diem :";cin>>m;

}

void set_value(int mau_ht,int )

{

int mau_ht;

mau_ht=getbkcolor();

putpixel(x,y,m);

setcolor(mau_ht);

};

void main()

{

diem a;

a.nhap();

a.hien();

//getch();

}

}

Trang 5

Thành viên của lớp

Thành viên dữ liệu được khai báo như sau :

 Hàm thành viên : định nghĩa bên trong lớp

Trang 6

Class <tên lớp>

{…

Public:

void set_value(int x , int y)

{

h = x ; w = y;

}

<Kiểu dữ liệu trả về><tên hàm>(<đối số>) {

//Thân hàm }

}

Trang 7

 Hàm thành viên : định nghĩa bên ngoài lớp

<Kiểu dữ liệu trả về><tên lớp>::<tên hàm>(<đối số>)

{

//Thân hàm }

Class <tên lớp>

{

provite :

int h,w;

public :

void set_value(int x,int y) int area();

}

Trang 8

CÁC THÀNH VIÊN TĨNH CỦA

LỚP

Mỗi đối tượng của một lớp có bản sao chép của chính nó

của tất cả các thành viên dữ liệu của lớp.

2

Trang 9

Các thành viên tĩnh :

  public

private

protected public :

• Có thể được truy cập thông qua bất kỳ đối tượng nào của lớp đó

• Hoặc truy cập thông qua tên lớp sử dụng toán tử định phạm vi

• Để truy cập một thành viên lớp tĩnh public khi các đối

tượng của lớp không tồn tại, đơn giản thêm vào đầu tên

lớp và toán tử định phạm vi cho thành viên dữ liệu

Trang 10

private và protected :

viên public của lớp

 Để truy cập một thành viên lớp

tĩnh private hoặc protected

khi các đối tượng của lớp không tồn tại, một hàm thành viên

public phải được cung cấp và hàm phải được gọi bởi thêm vào

đầu tên của nó với tên lớp và toán tử định phạm vi

Trang 11

 Trong các trường hợp nhất định chỉ có duy nhất một bản chép thành viên dữ liệu đặc biệt cần phải dùng chung bởi tất cả các đối tượng của một lớp

 Một thành viên dữ liệu tĩnh biểu diễn thông tin toàn lớp

(class-wide)

Khai báo một thành viên tĩnh bắt đầu với từ khóa STATIC.

Tính chất các thành viên tĩnh của lớp

 Tồn tại ngay cả khi đối tượng của lớp đó không tồn tại

Trang 12

 Thành viên dữ liệu tĩnh có thể giống như các biến toàn

cục, các thành viên dữ liệu tĩnh có phạm vi lớp

 Các thành viên dữ liệu tĩnh phải được khởi tạo một lần

(và chỉ một lần) tại phạm vi file

Một hàm thành viên tĩnh không có con trỏ this

→ Các thành viên dữ liệu tĩnh và các hàm thành viên tĩnh tồn tại độc lập với bất kỳ đối tượng nào của lớp

Chú ý: Hàm thành viên dữ liệu tĩnh không được gọi

là const.

Trang 13

CÁC HÀM FRIEND ( HÀM BẠN )

3

Trang 14

Hàm friend ( Hàm bạn)

Chữ

Hàm friend của một lớp được định nghĩa bên ngoài

phạm vi của lớp đó

Có quyền truy cập đến các thành viên private hoặc

protected của một lớp.

 Một hàm hay toàn bộ lớp có thể được khai báo là

một friend của lớp khác.

Trang 15

Khai báo :

Một hàm là một friend của một lớp, đứng trước hàm nguyên mẫu của hàm trong định nghĩa lớp với từ khóa friend.

friend <function-declarator>;

Cách 1:dùng từ khóa friend để khai báo hàm trong lớp

Class A

{ private:

//khai bao cac thuoc tinh

public:

//khai bao cac ham ban cua lop A

Friend void f1(…);

Friend double f2(…);

Friend f3(…);

};

Để một hàm trở thành bạn của một lớp :

Trang 16

//xay dung cac ham f1,f2,f3….

Void f1(…)

{

………

}

Double f2(…)

{

………

}

A f3(…)

{

….

}

Cách 2: dùng friend để xây dựng hàm trong định nghĩa lớp :

Trang 17

Một lớp là friend của lớp khác :

friend <class-name>;

Class A

{

private:

//khai bao cac thuoc tinh public:

…//xay dung cac ham ban cua lop A friend void f1(…)

{

… }

friend double f2(…) {

……

} friend A f3(…) }

Trang 18

Một hàm có thể là bạn của nhiều lớp được không ?

- Câu trả lời là được

Class a;//khai bao truoc lop a

Class b;//khai bao truoc lop b

//định nghĩa lớp a

Class a

{//khai báo f là bạn của a

friend void f (…);

};

//định nghĩa lớp b

Class b

{//khai báo f là bạn của b

friend void f (…);

};

Trang 19

Chỉ định các hàm được đa năng hóa là các friend của lớp.

→ Mỗi hàm được đa năng hóa phải được khai báo tường minh

trong định nghĩa lớp như là một friend của lớp.

 Phạm vi của hàm là toàn bộ chương trình

 Đối của hàm có thể là các đối tượng

 Một số tính chất của hàm firend :

Trang 20

CẢM ƠN THẦY VÀ CÁC BẠN ĐÃ LẮNG NGHE !

Ngày đăng: 25/04/2015, 23:12

TỪ KHÓA LIÊN QUAN

w