Static trong C++

Em mới học về static mọi người cho em hỏi khi em cho sbd tăng dần làm thế nào để gán nó cho từng sinh viên riêng biệt ạ của em chạy ra kết quả như thế này ạ

code đây ạ

#include<iostream>

using namespace std;

class Array;
class Student{
	private:
		static int sbd;
		float point1, point2, point3;
	public:
		void input(){
			cout <<"Nhap diem 1: ";
			cin >>point1;
			cout <<"Nhap diem 2: ";
			cin >>point2;
			cout <<"Nhap diem 3: ";
			cin >>point3;
			cout <<endl;
		}
		void output(){
			sbd++;
			cout <<"So bao danh: DDL"<<sbd<<endl;
			cout <<"Diem 1: "<<point1<<endl;
			cout <<"Diem 2: "<<point2<<endl;
			cout <<"Diem 3: "<<point3<<endl<<endl;
		}
		void search(){
				if(point1 == 10){
					cout <<"So bao danh: DDL"<<sbd<<endl;
					cout <<"Diem 1: "<<point1<<endl;
					cout <<"Diem 2: "<<point2<<endl;
					cout <<"Diem 3: "<<point3<<endl<<endl;			
				}
		}
};
int Student::sbd = 100;
main(){
	Student a[100];
	cout <<"Nhap so sinh vien: ";
	int n;
	cin >>n;
	cout <<endl<<"----NHAP THONG TIN SINH VIEN----"<<endl<<endl;
	for(int i = 0; i<n; i++){
		a[i].input();
	}
	cout <<endl<<"----DANH SACH SAU KHI NHAP----"<<endl<<endl;
	for(int i =0; i<n; i++){
		a[i].output();
	}
	cout <<endl<<"----Sinh Vien co Diem 1 = 10---"<<endl<<endl;
	for(int i =0; i<n; i++){
		a[i].search();
	}
	system("pause");
}

Có 1 biến static làm nhiệm vụ tăng sbd. Và có 1 biến sbd dành cho từng sv.

5 Likes

em cũng đang dùng cách đấy nhưng có cách nào khác không ạ ?

Cái gì riêng thì phải có biến lưu chứ. Thêm 1 biến sbd cho đối tượng SinhVien là đúng rồi.

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