static成员(方法、变量)使用简介

代码示例:

// static_guide.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

class Point
{
public:
    static void init()
    {
        a=0;//非静态成员引用
        b=0;//非静态成员引用
        c = 0;
    }
    void output()
    {
        init();
        c = 200;
    }
private:
    int a;
    int b;
    static int c;
};

int Point::c = 100; //静态成员变量必须初始化

//by zhaocl
int _tmain( int argc, _TCHAR* argv[] )
{
	//方法1
    Point pt;
    pt.init();
    pt.output();

	//方法2
    Point::init();
    Point::output();//非静态成员引用

    return 0;
}



总结:

1、static成员(方法、变量)在类创建的时候已经分配好了内存地址,属于整个类,而不是某个对象,所以static类型的使用方法1和方法2都可以,但是不是static类型的,不创建对象不能使用

2、同理,static方法里边只能调用static成员变量(此方法有调用的情况),普通方法可以调用static和普通成员变量

3、static成员变量必须初始化(一般是类外初始化)

猜你喜欢

转载自blog.csdn.net/zhao3132453/article/details/80771350