静态类成员函数
可以将成员函数声明为静态的(函数声明必须包含关键字static, 但是如果函数定义时独立的, 则其中不能包含 关键字static).
静态类成员函数有如下特点:
1.不能通过对象调用静态成员函数.
2.如果静态成员函数是在共有部分声明的, 则可以使用类名和作用域解析运算符来调用它.
3.静态成员函数不与特定的对象关联, 因此只能使用静态数据成员.
例如给String类添加一个名为HomeMany()的静态成员函数, 方法是在类声明中添加如下原型/定义:
static int HomMany(){return num_strings;}
调用它的方式如下:
int count = String::HomMany();
看一个例子, 重写了之前自己定义的String类
// string1.h
#ifndef STRING1_H_
#define STRING1_H_
#include <iostream>
using std::ostream;
using std::istream;
class String
{
private:
char * str;
int len;
static int num_strings;
// cin输入限制
static const int CINLIM = 80;
public:
// 构造函数
String(const char * s);
// 默认构造函数
String();
// 复制构造函数
String(const String &);
// 析构函数
~String();
// 定义内带实现, 就是内联函数
int length() con