static 成员函数不能声明为虚函数

static对象是共享的,类中的成员变量或成员函数一旦与static关键字相结合,则该成员变量或成员函数就是属于类的,而不是再是属于任何一个对象的,当然任何一个对象都可以共享该成员变量及成员函数。

static的对象没有this指针

class c1{
public:
int geta();
void seta(int x);
private:
int a;
static int b; //定义之后一定要在在类的外部初始化
};
int c1::b = 0;

int c1::geta(){
return a;
}
void c1::seta(int x){
static int c;
a = x;
b=b+1;
c++;
printf("b=%d c=%d\n", b, c);
}

void main()
{
c1 cc1, cc2;
cc1.seta(1);
cc2.seta(2);
cc2.seta(2);
cc2.seta(2);
cc1.seta(1);
}

输出结果:

b=1 c=1
b=2 c=2
b=3 c=3
b=4 c=4
b=5 c=5

可见,不管在哪儿定义的static都是共享的。

C++的Static函数相关推荐

  1. static 函数和普通函数

    全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量.全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式.这两者在存储方式上并无不同.这两者的区别虽在于非静态全局变量 ...

  2. c语言中的static变量和static函数

    在C语言中,static的字面意思很容易把我们导入歧途,其实它的修饰变量作用有三条. (1)先来介绍它的第一条也是最重要的一条:隐藏. 当我们同时编译多个文件时,所有未加static前缀的全局变量和函 ...

  3. static变量 static函数

    首先要明白c语言的存储空间 转自:http://www.52rd.com/blog/Detail_RD.Blog_imjacob_5297.html 一.c程序存储空间布局 C程序一直由下列部分组成: ...

  4. static函数与普通函数区别

    全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量.全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式.这两者在存储方式上并无不同.这两者的区别虽在于非静态全局变量 ...

  5. static函数的申明

    static 声明的变量在C语言中有两方面的特征:         1).变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值.这一点是它与堆栈变量和堆变量的区别.      ...

  6. c语言静态变量存在堆还是栈,c 类 static 函数 什么样是静态变量?嵌入式C语言的堆栈管理如何实现...

    C语言中静态变量是什么意思,有什么作用,static在数据类型前面表示什么 最近刚看了C存储类的章节.所以来说说. C语言为变量提供了⑤种不同的存储模型,或者说是存储类. ①个变量可以用存储时期描述, ...

  7. static变量和static函数的用法摘抄

    一. static 变量 static变量大致分为三种用法 1. 用于局部变量中,成为静态局部变量. 静态局部变量有两个用法,记忆功能和全局生存期. 2. 用于全局变量,主要作用是限制此全局变量被其他 ...

  8. 一叶知秋:“安全“的野指针、 static函数、成员函数、this 指针、gcc编译器、name mangling

    <span style="font-size:18px;">我们从实验中去总结问题 测试一: virtual 函数和non-virtual函数 01.#include  ...

  9. static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?...

    答案:全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量.全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式. 这两者在存储方式上并无不同.这两者的区别虽在于非静态全 ...

  10. 【C/C++】inline函数和static函数和宏定义的比较

    inline内联函数 1.内联函数的定义:内联函数是指用inline关键字修饰的函数.如果内联函数在类体内定义,不用inline关键字声明,默认为内联函数. 2.内联函数在函数调用点展开,没有栈帧的开 ...

最新文章

  1. MySQL备份命令mysqldump参数说明与示例
  2. 算法训练营 重编码_编码训练营后十四天如何找到工作
  3. 新一批国产游戏版号下发:共53款 腾讯、网易在列
  4. 消息中间件学习总结(15)——Apache RocketMQ 正式开源分布式事务消息
  5. linux下安装svn1.7
  6. 软件工程期末考试 AHNU
  7. 【参数辨识】六关节机械臂动力学参数辨识(上)
  8. (转)测试端口通不通(四种方法)
  9. 信息学奥赛一本通(C++版)在线评测系统 1161:转进制
  10. [转载]2012 年 4 月,水王排行榜
  11. ftc文件_美国参议员指责FTC拒绝收集防病毒数据
  12. NLP入门 - 基于Word Embedding + LSTM的古诗生成器
  13. 计算机英语朗读音频,新课标小学英语阅读精选(MP3+中英字幕) 第72期:电脑
  14. WLAN/Wifi802.11协议简介
  15. The server time zone value 'xxx' is unrecognized or represents more than one time zone 问题的解决方法
  16. 【机器学习】实战系列
  17. Homography 估计单应性矩阵代码实现
  18. eja智能压力变送器工作原理_HONEYWEL、 EJA 、罗斯蒙特变送器的工作原理
  19. html h5 php 语音录入,H5添加语音输入功能-
  20. 国家-首都 {中-英文对照}

热门文章

  1. 从政务云到国资云,折射国内云计算市场三大趋势
  2. 2021春季苹果发布会到底推出哪些产品?
  3. tableau学习基础13:统计表制作-3:合计、设置数值格式、转置
  4. 分享88个ASP电子商务源码,总有一款适合您
  5. HashMap不安全!!!详细分析及解决方案
  6. 人才缺口72万,三成岗位薪资过万!
  7. 20191021 练习:模拟+搜索+二分+AC自动机
  8. 移动直播选择 RTMP 还是RTC协议
  9. android平板怎么贴膜,手机贴膜怎么贴 手机贴膜步骤【详细介绍】
  10. html制作毕业纪念,毕业纪念视频怎样才能制作出更精彩?