基类有static成员时,派生类不会额外开辟一个空间存储static成员,而是基类子类公用。

这几天在家休息,一直为退学的事情发愁,最后还是不敢退...

#include <iostream>
using namespace std;class Base
{
public:static int a;static void print(){cout << a << endl;}static void set(int number){a = number;}
};class Derived1 : public Base
{
};class Derived2 : public Base
{
};int Base::a = 100;int main(int argc, char** argv)
{// 一下都是输出100
    Base::print();Derived1::print();Derived2::print();// 在Base中将a改为99,那么后面的两个输出也将变成99Base::set(99);Derived1::print();  Derived2::print();return 0;
}

转载于:https://www.cnblogs.com/cavehubiao/p/3331998.html

static 成员小记相关推荐

  1. 如何初始化类的static成员变量?

    如何初始化类的static成员变量? 类的static成员变量不被某一个对象所独有,而是被所有同类型的对象所共有. 只能在头文件中声明类的static成员变量,不可在头文件中初始化,否则会造成重定义. ...

  2. C++对象模型1——类对象的sizeof、static成员、对象模型、this指针

    一.类对象的sizeof 1.空类对象的sizeof class test3{ };int main(int argc, char const *argv[]) { test3 t;cout<& ...

  3. C++知识点61——typename与class、模板编程与继承、模板类和友元、类模板与static成员

    一.typename与class的异同 1.啥时候既可以使用typename,又可以使用class? 当表示模板参数的时候,二者没有区别 2.啥时候只能使用typename,不能使用class? 当模 ...

  4. static成员函数不能调用non-static成员函数

    1 一般类静态成员函数不能调用非静态成员函数 2 static成员函数可以调用构造函数吗? 答案是肯定的,由于static成员函数没有this指针,所以一般static成员函数是不能访问non-sta ...

  5. 为什么static成员的类型可以是类本身?又为什么非static成员被限定声明为其自身类对象的指针或引用?...

    看到<C++ Primer>中的一句话,才想起分析一下这个问题:"static 数据成员的类型可以是该成员所属的类类型.非 static 成员被限定声明为其自身类对象的指针或引用 ...

  6. c++ 类内static成员初始化

    类内部的static成员,除了为const static 且为整数类型(int char bool)可在类内部初始化. 其他的都建议在对应的cpp文件中进行初始化. test.h #ifndef TE ...

  7. 类模板static成员的使用

    转载:http://blog.csdn.net/ljq32/article/details/7911390 1. 与普通类的static成员一样,类内部声明一次,类外部定义一次,定义时可以设置也可以不 ...

  8. C++ 类的知识 | 构造函数再探、匿名对象、友元函数、内部类、类的const成员、类的static成员

    文章目录 构造函数再探 以下代码共调用多少次拷贝构造函数 委托构造函数 概念 形式 匿名对象 友元 友元的声明 友元类 令成员函数作为友元 函数重载和友元 注意 内部类 特性 类的const成员 可变 ...

  9. C++ class中的静态(static)成员

    C++ class中的静态(static)成员 (1)       静态数据成员 ①一般地静态数据成员在该类定义之外被初始化,如同一个成员函数被定义在类定义之外一样.在这种定义中的静态成员的名字必须被 ...

最新文章

  1. linux下安装hadoop
  2. saltstack源码安装nrpe
  3. pytorch torch.optim.lr_scheduler 各种使用和解释
  4. JAVA取数两个数组交集,考虑重复和不重复元素
  5. ListView的使用和数据绑定
  6. Codevs 1519 过路费(Mst+Lca)
  7. java 补0_Java String字符串补0或空格
  8. Spark 0.9的安装配置
  9. 关于linux开机自启
  10. 拓端tecdat|Excel实例:排序和筛选2
  11. linux修改挂载文件系统权限,Linux配置启动挂载:fstab文件详解
  12. 重签名ipa步骤及工具
  13. Pyinstaller打包
  14. 在51cto开博补充篇_为何叫~静水流深~
  15. 中信银行软件开发中心 c语言笔试题目,中信银行软件研发中心笔试内容
  16. 【Pytorch】基于卷积神经网络实现的面部表情识别
  17. design pattern Builder 建造者设计模式
  18. Android-状态机算法思想实现礼物连击需求
  19. c语言s10 是什么意思啊,【S10】A.FortunatelyB.ComparativelyC.ConsequentlyD.Conversely - 试题答案网问答...
  20. 中断处理 - 操作系统

热门文章

  1. 『mcse 2008基础架构』Chapter 01 IP协议及配置方法 第1课网络连接及配置方法
  2. 缓存系统memcache的安装,配置和使用
  3. Business model innovation Consulting
  4. how can we make wise decisions?
  5. mattermost
  6. 不要在脱离这个市场的情况下讨论商业模式
  7. Veronica博士的研究方向的介绍
  8. C# MemoryStream先写后读的奇怪现象
  9. noj Nightmare
  10. Java获取小程序带参二维码(太阳码)