//
1.静态成员--->静态成员变量
// 2.静态成员--->静态成员函数
#include<iostream>
#include<string>
using namespace std;
//1.静态成员变量--->静态成员变量
//
//class Worker
//{
// private:
// string name;
// int worktime;
// public:
// static int total; //用于统计总的工作时间
// void workTime(int n);
//};
//
//void Worker::workTime(int n)
//{
// worktime = n;
// total += worktime;
//}
//
//int Worker::total = 0; //无需声明对象就可以将静态数据成员初始化
//
//void main()
//{
// Worker worker1, worker2;
// worker1.workTime(20);
// worker1.workTime(32);
// cout << "Total = " << Worker::total << endl;
//}
//
// 2.静态成员--->静态成员函数
// 静态成员函数可以直接引用该类的 静态数据成员 和 静态成员函数,但不能
// 直接引用 非静态数据成员 和 非 静态成员函数,否则编译报错
// 如果要引用,必须通过参数传递的方式得到对象名,然后再通过对象名引用
class Person
{
private:
string name;
static int ID;
public:
static int number();
void hello();
};
int Person::ID = 1001;
int Person::number()
{
return ID;
}
void hello()
{
cout << "Hello, kitty" << endl;
}
void main()
{
Person p1;
cout << "类名引用:" << Person::number() << endl;
cout << "对象引用: " << p1.number() << endl;
}
// 2.静态成员--->静态成员函数
#include<iostream>
#include<string>
using namespace std;
//1.静态成员变量--->静态成员变量
//
//class Worker
//{
// private:
// string name;
// int worktime;
// public:
// static int total; //用于统计总的工作时间
// void workTime(int n);
//};
//
//void Worker::workTime(int n)
//{
// worktime = n;
// total += worktime;
//}
//
//int Worker::total = 0; //无需声明对象就可以将静态数据成员初始化
//
//void main()
//{
// Worker worker1, worker2;
// worker1.workTime(20);
// worker1.workTime(32);
// cout << "Total = " << Worker::total << endl;
//}
//
// 2.静态成员--->静态成员函数
// 静态成员函数可以直接引用该类的 静态数据成员 和 静态成员函数,但不能
// 直接引用 非静态数据成员 和 非 静态成员函数,否则编译报错
// 如果要引用,必须通过参数传递的方式得到对象名,然后再通过对象名引用
class Person
{
private:
string name;
static int ID;
public:
static int number();
void hello();
};
int Person::ID = 1001;
int Person::number()
{
return ID;
}
void hello()
{
cout << "Hello, kitty" << endl;
}
void main()
{
Person p1;
cout << "类名引用:" << Person::number() << endl;
cout << "对象引用: " << p1.number() << endl;
}