该类有个私有静态变量count记录该类的所有对象数

给定如下程序代码,请根据main函数中对该类的操作,补充类实现部分完成代码。

该类有个私有静态变量count记录该类的所有对象数,主函数将会在不同语句之后输出对象数,只有正确地实现该类,保证count正确记录该类的对象数,才能输出正确的结果。
#include

#include

using namespace std;

class Student {

private:

int id;

static int count;

public:

// 此处填写自己的代码

};

int Student::count;

void PrintCount() {

cout << "Total " << Student::count << " students" << endl ;

}

void Print(Student s) {

cout << "the id is " << s.id << endl ;

}

int main() {

Student::InitCount();

Student s;

PrintCount();

Student s1(10);

Student s2(s1);

PrintCount();

Print(s2); // 调用拷贝构造函数,调用结束调用析构函数

PrintCount();

return 0;

}

    // 此处填写自己的代码
    static void InitCount(){ count = 0; }
    Student()
    {
        Student::count++;
    }
    Student(int _id)
    {
        this->id = _id;
        Student::count++;
    }
    Student(Student *s0)
    {
        this->id = s0->id;
        Student::count++;
    }
    ~Student()
    {
        Student::count--;
    }

有一点问题,最上面的provate:要改为public:

static void InitCount(){ Student::count = 0; }
	    Student(){
	    	Student::count++;
	    }
	    Student(int _id){
	        this->id = _id;
			Student::count++;
	    }
	    Student(Student *s0){
	        this->id = s0->id;
	        Student::count++;
	    }
	    ~Student()
	    {
	        Student::count--;
	    }
	    friend void PrintCount();
		friend void Print(Student s);

这样就好了