Bị lỗi khi sử dụng hàm friend trong c++

Khi em dùng hàm friend để tính đa thức thì bị báo lỗi trong hàm friend là cái bac và cái hs kia chưa chưa được khai báo ạ?Em không hiểu vì nếu em dùng friend thì nó có thể truy xuất được private chứ ạ hay do em sai cú pháp gì ạ?M.n xem giúp em với.

#include <iostream>
#include <math.h>
using namespace std;
class Dathuc{
	private:
		int bac;
		float hs[200];
	public:
		void Nhap();
		void Xuat();
		friend float Tinh(float d);
};
void Dathuc::Nhap(){
	cout << "Nhap bac cua da thuc: ";
	cin >> bac;
	for(int i = 0; i < bac; i++){
		cout << "He so thu " << i << ": ";
		cin >> hs[i];
	}
}
void Dathuc::Xuat(){
	for(int i = 0; i < bac; i++){
		cout << hs[i] << "   ";
	}
}
float Tinh(float d){
	float T = 0;
	for(int i = 0; i < bac; i++){
		T = hs[i] * pow(d, 2);
	}
	return T;
}
int main() {
	Dathuc P;
	float d1, d2;
	P.Nhap();
	P.Xuat();
	cout << "Nhap so thuc d1: ";
	cin >> d1;
	cout << "Nhap so thuc d2: ";
	cin >> d2;
	Tinh( d1);
	Tinh( d2);
	return 0;
}

Giống struct đấy bạn. Khi bạn muốn truy cập một thành viên vào của struct thì bạn làm thế nào :))

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