C++ 对象 核心介绍

C++ 对象 核心介绍

C++ 中的对象(Object) 是类(Class)的实例化产物,是面向对象编程(OOP)的核心载体,封装了数据(成员变量)和操作数据的行为(成员函数 / 方法),也是实现封装、继承、多态三大 OOP 特性的基础。以下是其核心信息的详细拆解:

1. 核心定义与本质
  • 类是对象的 "模板 / 蓝图",定义了对象具备的属性和行为;对象则是类在内存中分配的具体实体,每个对象拥有独立的成员变量(存储在栈 / 堆),但共享类的成员函数(节省内存)。示例: cpp

    运行

    复制代码
    // 定义类(模板)
    class Car {
    public:
        string brand; // 成员变量(属性)
        void run() { // 成员函数(行为)
            cout << brand << " is running!" << endl;
        }
    };
    // 实例化对象(具体实体)
    Car myCar; 
    myCar.brand = "Tesla";
    myCar.run(); // 调用成员函数,输出:Tesla is running!
2. 对象的创建与销毁
创建方式 特点 销毁方式
栈上创建 Car myCar;,速度快,自动销毁 超出作用域时编译器自动调用析构函数
堆上创建 Car* pCar = new Car();,灵活可控 需手动调用 delete pCar;,否则内存泄漏
静态对象 static Car sCar; 程序结束时销毁
3. 核心特性(对象视角)
  • 封装性 :对象的私有成员(private)仅能通过公有成员函数访问,隐藏内部实现,仅暴露对外接口,保障数据安全。
  • 继承性 :子类对象可继承父类的成员(除私有),并可扩展新属性 / 行为,例如 ElectricCar 继承 Car 后,新增 battery 成员。
  • 多态性 :同一行为在不同对象上表现不同,核心通过虚函数实现。例如父类 Carrun() 函数,子类 ElectricCar 重写后,父类指针指向子类对象时,调用的是子类的 run()
4. 关键概念
  • 对象的生命周期:从创建(构造函数调用)到销毁(析构函数调用)的全过程,构造函数初始化对象,析构函数清理资源(如堆内存、文件句柄)。
  • 对象拷贝:默认拷贝构造函数 / 赋值运算符会浅拷贝(仅复制值),若成员包含指针,需自定义深拷贝避免野指针。
  • this 指针 :每个非静态成员函数都隐含 this 指针,指向当前对象,可用于区分成员变量和局部变量(如 this->brand = brand;)。
相关推荐
Serene_Dream17 分钟前
JVM 并发 GC - 三色标记
jvm·面试
rannn_11120 分钟前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
qq_124987075324 分钟前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计
短剑重铸之日30 分钟前
《设计模式》第十一篇:总结
java·后端·设计模式·总结
艾莉丝努力练剑34 分钟前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
Once_day1 小时前
C++之《程序员自我修养》读书总结(1)
c语言·开发语言·c++·程序员自我修养
若鱼19191 小时前
SpringBoot4.0新特性-Observability让生产环境更易于观测
java·spring
Trouvaille ~1 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
觉醒大王1 小时前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法
努力学编程呀(๑•ี_เ•ี๑)1 小时前
【在 IntelliJ IDEA 中切换项目 JDK 版本】
java·开发语言·intellij-idea