Lỗi undefined reference khi code destructor của class C++

Chào mọi người e đang học class đến bài này thì bị lỗi mọi người xem giúp e với ạ.

#include<iostream>
#include<string.h>
using namespace std;


class SinhVien{
	private:
		static int msv;
		char name[256];
		char address[256];
		int phone;
		float point1, point2, point3;
	public:
		SinhVien(){
			msv = 1;
		}
		~SinhVien();
		void input(){
			cout <<"Nhap ten: ";
			fflush(stdin);
			gets(name);
			cout <<"Nhap dia chi: ";
			fflush(stdin);
			gets(address);
			cout <<"Nhap so dien thoai: ";
			cin >>phone;
			cout <<"Nhap diem 3 mon: ";
			cin >>point1 >> point2 >> point3;
		}
		void output(){
			cout <<"Ma sinh vien: "<<msv<<endl;
			msv++;
			cout <<"Ho ten: "<<name<<endl;
			cout <<"Dia chi: "<<address<<endl;
			cout <<"So dien thoai: "<<phone<<endl;
			cout <<"Diem 3 mon: "<<point1<<" "<<point2<<" "<<point3<<endl;
		}
		
};

main(){
	SinhVien sv;
	sv.input();
	sv.output();
	system("pause");
}

lỗi đây ạ

Triển khai của hàm huỷ đâu ?
Nó báo lỗi rành rành undefined reference to… ra rồi kia mà ?

4 Likes

Em mới học, em tưởng hàm hủy chỉ viết tường minh khi mình cấp phát bộ nhớ động ạ

Nếu em không dùng tới thì không cần viết trừ khi yêu cầu.

4 Likes

em xóa r ạ, nhưng còn lỗi này ạ

msv về logic nó phải là dữ liệu của đối tượng nên nó không được là static.

Nếu có ý đồ khác mà dùng static thì phải khởi tạo giá trị cho nó.
Viết trong file .cpp:

int SinhVien::msv = 1;
4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?