一.类的静态成员变量,以及静态函数。
静态成员变量:
1.静态成员共享机制
2.静态成员局部属于类,它不是对象的成员,位于静态区。
3.静态成员变量需要在外部进行初始化。
静态函数:
1.静态成员函数都在代码区,类的静态函数都是共享的。
2.类的大小不包含代码区,创建指向类方法的指针,需要指定所属的类。如有类函数void go();想要创建指向该函数的指针,则创建方式如下:
class myclass
{
public:
static void go(){}; void go1(){};
};
void (*p)()=&myclass::go1; void (*p1)()=&go;
3.静态函数不需要进行类的指定。
4.static const int num; 该变量类型位于静态常量区(可读不可写),调用时不读内存,直接调用符号表。
二.类与内存
类在内部存在引用时,需要进行初始化,引用在输出时不可用std::endl,否则会关闭流,当做地址输出。常量与引用必须重载构造函数进行初始化,且常量只可以初始化一次。
#include<iostream>
class myclass
{
public:
int num;
int data;
int *p;
const int coint = 0;//类内部定义常量要先对其进行初始化
int & myint; //类内