static与类

本文详细介绍了C++中static关键字的使用方式及其特性。重点解释了static如何定义类的静态成员变量和函数,并且强调了它们不属于特定的对象而是属于整个类。此外,还探讨了static成员如何与其他成员进行交互以及其在单例模式中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c++static 限定作用域,只初始化一次
新特性:与函数,
不属于对象,属于类,没有this指针,没有对象属性,不能访问非静态(static)成员

static 访问static!
非static 访问 非static!
static
变量
1. 对象共享,不属于对象,属于类
2. 通过类名直接访问
函数
3. 没有this指针,无法访问非静态(变量,函数)

单例模式:
无法初始化
获取一个对象

static const int num=100;//代表此变量不属于对象的,是属于类的,所有对象会共用,除了const int 都在外部初始化

class Demo
{
public:
    static int num;
    int othet;
    static bool isYear();//不属于对象,属于类,没有this指针,没有对象属性。
protected:
private:
};
Demo::num=100;
Demo demo1,demo2;//共用static num。
Demo::isYear(2016);

类的大小
只计算数据成员,不计算成员函数
静态不计入类的大小
虚函数和虚继承会占用类的大小,32占4,64占8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值