打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
类中静态成员变量(结构体或者简单类型)的初始化

往往由于需要在一个类中会添加入静态变量,这个或这些变量

 

可能为结构体,也可能为简单的数据类型

 

这样的静态变量并非属于单个类的对象,而是属于整个类

 

即使在对象销毁后仍然存在。

 

下面用代码说明问题

 

  1. #include "stdafx.h"  
  2.   
  3. class tt  
  4. {  
  5. public:  
  6.    int x;  
  7.    int y;  
  8.    char ch;  
  9. };  
  10. class test  
  11. {  
  12. public:  
  13.     int i;  
  14.  static   tt  t;  
  15. };  
  16. tt test::t = {1,2,'a'}; // 这样是正确的  
  17. // tt test::t.x  = 1;   // 而像下面三个写法都是错误的,  
  18. // tt test::t.y  = 2;  
  19. // tt test::t.ch = 'a';  
  20. void main()  
  21. {  
  22.     test _test;  
  23.     _test.i = 0;  
  24.     printf("%d/n", _test.i);  
  25. //  printf("%d/n", _test.t.x); // 实验证明这样的写法也是可以的  
  26.     printf("%c/n", test::t.ch);// 当然这样的写法是最适于理解的。  
  27. }  

据说类的静态成员变量都需要初始化

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
android开发中使用static的方法好,还是通过建立对象调用方法好?
内部类(成员内部类、静态内部类、方法内部类)
static关键字+变量的作用域和生命周期
container
关于类的静态与非静态成员变量及方法
awk中如何使用shell的环境变量[转]
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服