Lỗi về class c++

Em đang tạo danh sách cán bộ và chạy đang gặp lỗi em không hiểu nó là gì ? mong mọi người giúp em

#include<iostream>
#include<cstring>
using namespace std;

class canbo{
	protected:
		char* hoten;
		long luongcoban;
	public:
		canbo(char* na, long sa){
			setName(na);
			setLuong(sa);
		}
		void setName(char* na){
			this->hoten = na;
		}
		void setLuong(long sa){
			this->luongcoban = sa;
		}
		char* getName(){
			return this->hoten; 
		}
		long getLuong(){
			return this->luongcoban;
		}
		~canbo(){
		}
};

class danhsach{
	protected:
		canbo a[100];
		int tscanbo;
	public:
		void nhapbp(){
			char na[10];
			long sa;
			cout << "nhap tong so can bo" << endl;
			cin >> tscanbo;
			fflush(stdin);
			for(int i=0;i<tscanbo;++i){
				cout << "Ten = " << endl; cin.getline(na, 10);
				cout << "luong = "<< endl; cin >> sa;
				canbo x(na, sa);
			a[i] = x;
			}
		}
		
};

int main(){
	danhsach s;
	s.nhapbp();
	return 0;
}

Bạn thêm 1 cái default constructor cho nó.

	public:
	    canbo() {
	        static int obj_cnt = 0;
	        cout << "Invoke canbo No: " << obj_cnt++ << endl;
	    }
		canbo(char* na, long sa){
			setName(na);
			setLuong(sa);
		}

Hàm constructor này được gọi lúc tạo mảng a[100]

2 Likes

Hi Hanh.
Bạn đọc nhật ký xem khi xây dựng lỗi ở đâu.

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