Mình có đoạn code này ạ
#include <iostream>
#include <algorithm>
using namespace std;
class BMI
{
private:
static float chieuCao;
static float canNang;
static float bMI;
public:
BMI()
{
chieuCao=0;
canNang=0;
bMI=0;
}
BMI(float chieuCao,float canNang)
{
this->chieuCao=chieuCao;
this->canNang=canNang;
}
static void Nhap();
static float TinhBMI();
static string HienThi();
};
float BMI::TinhBMI()
{
bMI=(float)canNang/(chieuCao*chieuCao);
return bMI;
}
string BMI::HienThi()
{
float t=TinhBMI();
if(t<18.5)
return "Thieu can";
else if(t<25)
return "Trung binh";
else if(t<30)
return "Thua can";
else
return "Beo phi";
}
void BMI::Nhap()
{
cout << "Nhap chieu cao ";
cin >> chieuCao;
cout << "Nhap can nang ";
cin >> canNang;
}
int main()
{
//BMI a;
BMI::Nhap();
cout << BMI::HienThi();
}
Vì mình ko muốn gọi một gọi 1 object mà sử dụng static để gọi trực tiếp hàm nhưng khi build lại hiển thị lỗi ntn ạ :
C:\Users\user\AppData\Local\Temp\ccZdBcMj.o L3-BAI2.cpp:(.rdata$.refptr._ZN3BMI3bMIE[.refptr._ZN3BMI3bMIE]+0x0): undefined reference to `BMI::bMI'
C:\Users\user\AppData\Local\Temp\ccZdBcMj.o L3-BAI2.cpp:(.rdata$.refptr._ZN3BMI7canNangE[.refptr._ZN3BMI7canNangE]+0x0): undefined reference to `BMI::canNang'
C:\Users\user\AppData\Local\Temp\ccZdBcMj.o L3-BAI2.cpp:(.rdata$.refptr._ZN3BMI8chieuCaoE[.refptr._ZN3BMI8chieuCaoE]+0x0): undefined reference to `BMI::chieuCao'
D:\OOP-C++\collect2.exe [Error] ld returned 1 exit status
Mọi người giải thích dùm mình với ạ. Mình cảm ơn