从零开始学C++之对象的使用(一):static 成员变量、static 成员函数、类/对象的大小

本文详细介绍了C++中static成员变量和成员函数的使用,包括它们的定义、特点以及如何通过类名直接访问。同时探讨了类对象的大小计算规则,指出静态成员和虚函数对类大小的影响。
摘要由CSDN通过智能技术生成

一、static 成员变量

对于特定类型的全体对象而言,有时候可能需要访问一个全局的变量。比如说统计某种类型对象已创建的数量。
如果我们用全局变量会破坏数据的封装,一般的用户代码都可以修改这个全局变量,这时可以用类的静态成员来解决这个问题。
非static数据成员存在于类类型的每个对象中,static数据成员独立该类的任意对象存在,它是与类关联的对象,不与类对象关联。

(1)、static成员的定义

static成员需要在类定义体外进行初始化与定义

(2)、特殊的整型static const成员

整型static const成员可以在类定义体中初始化,该成员可以不在类体外进行定义


 C++ Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
class Test
{
public:
    Test(): a( 0) {}
     enum {size1 =  100, size2 =  200};
private:
     const  int a;    //只能在构造函数初始化列表中初始化
     static  int b;     //在类的实现文件中定义并初始化
     const  static  int c;     //与 static const int c; 相同。
};

int Test::b =  0//static成员变量不能在构造函数初始化列表中初始化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值