Hi, I am

Ngô Tôn

I am a programmer.

Home / Programming / C/C++ / Xây dựng hàm bạn để tính diện tích hình chữ nhật

Xây dựng hàm bạn để tính diện tích hình chữ nhật

Yêu cầu:

Xây dựng hàm bạn để tính diện tích hình chữ nhật

Code:
/************************************************************/

#include <iostream>
#include <iomanip>
#include <string.h>

using namespace std;

class Rectangle
{
int width, height;
public:
Rectangle() {}
Rectangle (int x, int y) : width(x), height(y) {}
int area() {return width * height;}
friend Rectangle duplicate (const Rectangle&);
};

Rectangle duplicate (const Rectangle& param)
{
Rectangle res;
res.width = param.width*2;
res.height = param.height*2;
return res;
}

int main ()
{
Rectangle r1;
Rectangle r2 (2,3);
r1 = duplicate (r2);
cout << r1.area() << endl;
system("pause");
return 0;
}

Giải thích:
Để khai báo hàm bạn ta dùng từ khóa friend. Hàm duplicate là hàm bạn của lớp Rectangle. Do đó, hàm duplicate có thể truy cập tới các thành viên width và height (thành phần private).
Chú ý:Hàm bạn không phải là 1 thành viên của lớp, mà đơn giản hàm bạn chỉ là hàm có thể truy cập tới thành viên private và protected của lớp.

Hàm bạn được sử dụng rất hữu ích trong trường hợp truy cập thành viên private và protected giữa các class khác nhau.

Kết quả:

Yêu cầu: Xây dựng hàm bạn để tính diện tích hình chữ nhật Code: Giải thích: Để khai báo hàm bạn ta dùng từ khóa friend. Hàm duplicate là hàm bạn của lớp Rectangle. Do đó, hàm duplicate có thể truy cập tới các thành viên width và height (thành phần private). Chú ý:Hàm bạn không phải là 1 thành viên của lớp, mà đơn giản hàm bạn chỉ là hàm có thể truy cập tới thành viên private và protected của lớp. Hàm bạn được sử dụng rất hữu ích trong trường hợp truy cập thành viên private và protected…

User Rating: 5 ( 1 votes)

About ngoton

Ngô Tôn is a programmer. He is crazy about new gadgets and up to date with latest technology trends. Use comments to notify any issues you are facing.

Check Also

Xây dựng lớp Date mô tả thông tin ngày, tháng, năm

Yêu cầu: Xây dựng một lớp Date mô tả thông tin về ngày, tháng, năm …

Leave a Reply

Your email address will not be published. Required fields are marked *