IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 【C++】类中几种变量的初始化方式 -> 正文阅读

[数据结构与算法]【C++】类中几种变量的初始化方式

普通成员变量

初始化列表或者构造函数中赋值

普通成员常量和引用型变量

初始化列表初始化

静态成员变量

类内声明,类外初始化

静态成员常量

当且仅当const、static、且为integer类型,可以直接类内初始化
其余类型同样是类内声明,类外初始化

示例

A.h

#ifndef A_H
#define A_H

class A
{

public:
    virtual ~A();
    A(int p1,int p2,int p3):a(p1),b(p2),c(p3){};
    void Print();
private:
    int a;//初始化列表初始化、构造函数中赋值初始化
    int &b;//初始化列表初始化
    const int c;//初始化列表初始化
    static int d;//静态成员变量在类内声明在类外初始化,此时该变量属于类,不属于某个对象。
    static const int e=60;//静态成员常量,整型可以直接赋值
    static const float f;//静态成员常量,非整型需要类外初始化
};

#endif // A_H

A.cpp

#include "A.h"
#include<iostream>

int A::d = 1000;
const float A::f = 90.9;//类外初始化时不能再定义为static
void A::Print(){
    std::cout<<a<<","<<b<<","<<c<<","<<d<<","<<e<<","<<f<<std::endl;
}

A::~A()
{
    //dtor
}

MAIN.cpp

#include <iostream>
#include "A.h"
using namespace std;

int main(){
    A a(21,22,23);

    a.Print();
    return 0;
}

在这里插入图片描述

为什么静态的就要类外初始化?

因为类内初始化会导致每个对象包含该静态成员,与静态变量属于类不属于对象相矛盾。

这里赋值和初始化有什么不同?

初始化是在分配空间时为对象赋值,赋值则是在空间分配完毕之后,在进行普通的赋值操作。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-02-27 11:02:06  更:2022-02-27 11:03:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 15:53:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码