静态成员:所谓静态成员就是被static修饰的成员变量\函数
可以通过对象(对象.静态成员),对象指针(对象指针->静态成员),类访问(类名::静态成员)
静态成员变量:存储在数据段(全局区(全局区也叫数据段data segment),类似于全局变量),整个程序运行过程中只有一份内存,对比全局变量,它可以设定访问权限(public,protected,private),达到局部共享的目的,必须初始化,必须在类外面初始化,初始化时不能带static,如果类的声明和实现分离(在实现.cpp中初始化) 即初始化静态成员变量:int Car::m_price = 0.
静态成员函数:
不管是普通成员函数还是静态成员函数都是存储在代码区(因为函数就是一段代码), 静态成员函数内部不能使用this指针(this指针只能用在非静态成员函数内部),另外虚函数不能用static,因为虚函数是实现多态用的,父类指针指向子类对象,虚函数都是通过对象调用的.所以静态成员函数不能是虚函数(虚函数只能是非静态成员函数),静态成员函数内部不能访问非静态成员变量\函数,只能访问静态成员变量\函数.非静态成员函数内部可以访问静态成员变量\函数.构造函数,析构函数不能是静态.
class Car {
static int m_price;
public:
static void run(){
cout << "run()" << endl;
}
}
int main() {
getchar();
return 0;
}
C++中的静态成员变量和静态成员函数
最新推荐文章于 2023-09-22 22:00:13 发布