1.Static的使用
(1).关键字static 可以用于说明一个类的成员;
静态成员提供了一个供所有对象共享机制;
(2).把一个类成员说明为static时,这个类无论有多少个对象被创建,这些对象共享这个static成员;
(3).静态成员局部于类,它不是对象成员
(4).类内的静态成员需要初始化。初始化方式:(例:在myclass中的静态成员 static int staticnum;
int myclass::staticnum=0;
2.static 使用demo
<constmutable.cpp>
#include "constmutable.h"
#include <iostream>
#include <stdio.h>
constmutable::constmutable(void): a(0),b(0),c(0),d(0)
{
if (num>2)
{
}
else
{
num++;
}
}
int constmutable::num=0;
void constmutable::run()
{
std::cout<<"This is run function!!"<<std::endl;
}
void constmutable::test()
{
std::cout<<"This is test function!"<<std::endl;
}
constmutable::~constmutable(void)
{
}
<constmutable.h>
#pragma once
class constmutable{
public:
constmutable();
~constmutable();
int a;
int b;
int c;
static int num;
const int d;
mutable int e;
public:
static void run();
void test();
void setabc(int a,int b,int c )
{
this->a=a;
this->b=b;
this->c=c;
}
void showabc() const
{
this->e=1;
}
};
main.cpp
#include "constmutable.h"
#include <iostream>
void main()
{
constmutable num1;
std::cout<<num1.num<<std::endl;
constmutable num2;
std::cout<<num2.num<<std::endl;
constmutable::run();
std::cin.get();
}
输出结果:
1
2
This is run function!!