Hỏi thành phần làm bài tập về lớp Friend trong Lập trình OOP

Em muốn hỏi các bro các thành phần để làm đc bài này ạ, em có kiến thức về oop. Nhưng khả năng phân tích thì hơi yếu. Mong anh chị chỉ dạy thêm

Một đơn vị sản xuất gồm có các cán bộ là công nhân, kỹ sư, nhân viên. Mỗi cán bộ cần quản lý các dữ liệu: Họ tên, tuổi, giới tính(nam, nữ), phòng ban, hệ số lương.

  • Xây dựng lớp cán bộ với các thông tin trên và các phương thức gồm : nhập xuất, tính lương.
  • Tạo một danh sách các cán bộ và hiển thị thông tin về các cán bộ trong danh sách đó.
  • Đưa ra số lượng cán bộ theo từng phòng ban.

Đây là chương trình em làm đc ạ

#include <bits/stdc++.h>
using namespace std;
class canbo{
	private:
		string ht;
		int tuoi; 
		string gt;
		string pb;
		float heso;
	public:
		friend class congnhan;
		friend class kysu;
		friend class nhanvien;
		void nhap(){
			cin.ignore();
			cout <<"Nhap ho ten: ";
			getline(cin,ht);
			cout <<"Nhap tuoi: ";
			cin >>tuoi;
			cin.ignore(); 
			cout <<"Nhap gioi tinh: ";
			getline(cin,gt);
			cout <<"Nhap phong ban: ";
			getline(cin,pb);
			cout <<"Nhap he so luong: ";
			cin >>heso;
			cout <<"--------------------\n";
		}
	long tinhluong(){
		return 10000*heso; 
	}
	void xuat(){
		cout <<"Ho ten: "<<ht<<endl;
		cout <<"Tuoi: "<<tuoi<<endl;;
		cout <<"Gioi tinh: "<<gt<<endl;
		cout <<"Phong ban: "<<pb<<endl;
		cout <<"He so luong: "<<heso<<endl;
		cout <<"Tien luong = "<<tinhluong()<<endl;
	}
	
};

int main(){
	canbo cb;
	
}

Bạn gặp vấn đề gì mà không giải quyết được?, mình chưa thấy câu hỏi.

Hay bạn hỏi là code như vầy thì có “đúng” chưa?
Nếu vậy thì mình có comment thế này:
Đề bài:

gồm có các cán bộcông nhân, kỹ sư, nhân viên

Bạn implement:

//...
class canbo{
	private:
    //...
	public:
		friend class congnhan;
		friend class kysu;
		friend class nhanvien;
    //...

Tại sao bạn lại phải dùng friend mà không phải là kế thừa?
Theo mình thấy đề bài không đề cập bắt buộc phải dùng friend nên mình thấy dùng kế thừa sẽ hợp lí hơn.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?