#include <iostream>
#include "ClassStudent.h"
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
Student a(1,'m','m');
Student::showCount();
return 0;
}
ClassStudent.cpp
#include "ClassStudent.h"
using namespace std;
int Student::count=0;
void Student::showCount()
{
cout<<count<<endl;
}
ClassStudent.h
class Student{
public:
Student(int num=0,char name='a',char sex='f'):num(num),name(name),sex(sex){
count++;
}
void showCount();
private:
int num;
char name;
char sex;
static int count;
};
showcount()函数属于非静态成员函数,非静态成员函数中有一个默认参数为this指针,指向本对象,所以非静态成员函数需要通过对象调用,不能通过类名。
而静态成员函数参数中没有this指针,可以通过对象调用,也可以通过类名调用
要静态函数才可以这么调
void showCount(); 改为 static void showCount();