当前位置: 首页 > news >正文

C++_pen_静态与常量

成员

常成员、常对象(C++推荐使用 const 而不用#define,mutable)

const 数据成员只在某个对象生存周期内是常量,而对于整个类而言却是可变的(static除外)

1.常数据成员(构造函数初始化表赋值)

class STU{
public:A():x(100){}const int x;
}

2.常成员函数

void func() const;

3.常对象

const STU a;

静态成员(属于类不属于对象)

1.静态成员的声明

static int x;
static const int x = 10;

2.静态数据成员初始化

static int STU::x = 10;//类之外的初始化

3.静态成员函数

static void func();//能访问静态成员
//调用方法
STU::func();

例(常成员、常对象)

#include <stdio.h>class STU{
public:STU(int data = 0):b(data){    //默认参数 = 0    b = data;printf("STU\n");}~STU(){printf("STU Bye!!!\n");}void class_print(void) const{printf("b = %d\n", b);}private:int a;const int b;
};int main(int argc, char const *argv[])
{STU x(10);x.class_print();STU y(100);y.class_print();STU z;z.class_print();return 0;
}

例(静态)

基于类不基于对象

#include <stdio.h>class STU{
public:void func1(){printf("func1\n");}static void func2(){  //无需创建对象也可以调用printf("func2\n");}static int data;
};int STU::data = 0;//一定类外初始化int main(int argc, char const *argv[])
{STU a;a.func1();a.func2();//STU::func1();//不能调用,因为不依附于对象,无staticSTU::func2();printf("data = %d\n", a.data);STU::data = 1000;printf("data = %d\n", a.data);//静态成员也可以改变return 0;
}

在这里插入图片描述

http://www.lryc.cn/news/184650.html

相关文章:

  • ToDoList使用自定义事件传值
  • 基于SSM的家庭财务管理系统设计与实现
  • OpenHarmony Trace的使用
  • 文件上传笔记
  • 计算机网络 第三章数据链路层
  • 浅析如何在抖音快速通过新手期并积累粉丝
  • 英文论文实例赏析——如何写前言?
  • springBoot -md
  • 从0开始学go第五天
  • 大厂技术面试中的手撕代码应该如何准备?
  • 阿里影业+大麦,开启大文娱新纪元?
  • springboot整合mybatis入门程序
  • 【BI看板】Superset2.0+图表二次开发初探
  • 微服务学习--1入门
  • docker系列6:docker安装redis
  • 计算机网络(三):数据链路层
  • 【计算机组成 课程笔记】7.2 DRAM和SRAM
  • 1802_在Linux系统上开发ARM单机片机嵌入式软件
  • 【计算机网络-自顶向下方法】应用层(HTTP、FTP)
  • CSS文本超出显示小数点
  • 怎么把图片压缩小一点?4个简单的压缩办法
  • react嵌套路由
  • 代码随想录 单调栈 Ⅰ
  • C++返回引用
  • 010:连续跌3天,同时这三天收盘价都在20日均线下,第四天上涨的概率--以京泉华为例
  • MATLAB与Python:优势与挑战
  • CSP-J第二轮试题-2019年-1、2题
  • 深入理解 python 虚拟机:原来虚拟机是这么实现闭包的
  • 【数据结构-哈希表 一】【原地哈希】:缺失的第一个正整数
  • 【C++设计模式之迭代器模式】分析及示例