C++从入门到起飞之——初始化列表&类型转换&static成员 全方位剖析!




#include <iostream>
 
class MyClass {
public:
    MyClass(int x, double y) : _x(x), _y(y) {
        // 使用初始化列表来初始化成员变量
    }
 
    void display() const {
        std::cout << "x: " << _x << ", y: " << _y << std::endl;
    }
 
private:
    int _x;
    double _y;
};
 
int main() {
    MyClass obj1(5, 3.2);  // 正确:直接使用相应类型的参数
    obj1.display();
 
    MyClass obj2 = {7, 9.1};  // 错误:初始化列表不支持复制初始化
    // obj2.display();
 
    MyClass obj3 = MyClass(11, 12.3);  // 正确:使用显式构造函数
    obj3.display();
 
    MyClass* obj4 = new MyClass(13, 14.4);  // 正确:使用new动态分配对象
    obj4->display();
    delete obj4;
 
    // 静态成员变量的使用
    MyClass::showStaticMember();
 
    return 0;
}
 
class MyClass {
public:
    static int staticMember;
 
    MyClass(int x) {
        staticMember = x;  // 使用静态成员
    }
 
    static void showStaticMember() {
        std::cout << "Static Member: " << staticMember << std::endl;
    }
};
 
int MyClass::staticMember = 0;  // 静态成员变量的定义

这个代码示例展示了如何在C++中使用初始化列表来初始化类的成员变量,如何使用new运算符动态分配对象,以及如何使用静态成员变量和方法。同时,它也说明了如何正确和错误地使用初始化列表,以及如何处理类的静态成员。

none
最后修改于:2024年09月01日 13:34

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日