1. Trang chủ
  2. » Tất cả

Bài giảng lập trình hướng đối tượng c++‎ chương 6 hàm bạn và lớp bạn

7 4 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài giảng lập trình hướng đối tượng C++‎ chương 6 hàm bạn và lớp bạn
Trường học University of Science and Technology - Thành phố Hồ Chí Minh
Chuyên ngành Lập trình hướng đối tượng C++
Thể loại Bài giảng
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 7
Dung lượng 579,09 KB

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

Nội dung

HÀM BẠN – LỚP BẠN Chương 6 1 Nội dung • Giới thiệu • Hàm độc lập là hàm bạn • Hàm thành viên là hàm bạn • Hàm bạn của nhiều lớp • Lớp bạn 2 Giới thiệu • Tại sao cần hàm bạn? 3 class Diem { int x, y; p[.]

Trang 1

HÀM BẠN – LỚP BẠN

Chương 6

1

Trang 2

Nội dung

• Giới thiệu

• Hàm độc lập là hàm bạn

• Hàm thành viên là hàm bạn

• Hàm bạn của nhiều lớp

• Lớp bạn

Trang 3

Giới thiệu

• Tại sao cần hàm bạn?

3

public :

….

int GiaTriX()

{ return x; } };

class DuongTron {

Diem tam;

int bankinh;

public:

….

void InHoanhDoTam(){

cout<<tam.GiaTriX();}

};

Khai báo trong lớp Diem hàm sau:

friend void

DuongTron::InHoanhDoTam();

Muốn truy cập các thành phần private hay protected của 1 lớp

từ bên ngoài của lớp

phải thiết kế các hàm lấy giá trị dữ liệu thành

viên

Nếu số lượng các thành phần

dữ liệu trong lớp quá nhiều

thiết kế hàm bạn (friend)

Trang 4

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

– Hàm bạn của 1 lớp là hàm có khả năng truy cập đến

các thành phần dùng riêng (dữ liệu và hàm) của lớp

đó

– Cú pháp: khai báo prototype của hàm trong lớp

muốn cho phép truy cập đó với từ khóa friend

int a1;

public :

};

void HamDocLap(A x)

{ cout<<x.a1; }

int HamThanhVien(); };

int B::HamThanhVien() {

A y; … return y.a1;

Giới thiệu

Trang 5

Hàm độc lập là hàm bạn

• Hàm độc lập (không thuộc lớp nào) có thể được khai

báo là bạn của 1 lớp

• Chỉ cần khai báo tên hàm độc lập bên trong lớp

• Trong nội dung hàm độc lập, có thể truy cập bất kỳ

thành phần nào thuộc lớp đó

5

int x,y;

public :

};

int Trung(Diem a, Diem b){

if (a.x==b.x && a.y==b.y) return 1;

else

return 0;

}

Trang 6

Hàm độc lập là hàm bạn

public :

};

int SoSanhBang( PhanSo a, PhanSo b){

if (a.tu*b.mau== b.tu*a.mau) return 1;

else

return 0;

}

Trang 7

Hàm thành viên là hàm bạn

• Hàm thành viên của 1 lớp có thể được khai báo là bạn

của 1 lớp khác

• Chỉ cần khai báo <Tên lớp>::<Tên hàm thành viên>

bên trong lớp cần truy cập

• Trong nội dung hàm thành viên, có thể truy cập bất kỳ

thành phần nào thuộc lớp đã khai báo

7

int x,y;

public :

DoanThang ::ChieuDai();

};

public :

float ChieuDai() { sqrt(

pow((d1.x - d2.x),2) +

pow((d1.y - d2.y),2)); }

};

Ngày đăng: 03/03/2023, 07:29

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm