C++中,组合类,类的析构函数调用顺序

这篇博客探讨了C++中类的析构函数调用顺序,特别是在组合类中的表现。通过示例展示了CPU、RAM和CDROM类的定义,以及如何构建组合类Computer。博客指出,构造函数与析构函数的数量在特定情况下可能不对等,并解释了析构函数调用的场景,以及拷贝构造函数在类对象传递和初始化中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// test4.cpp : 定义控制台应用程序的入口点。
//    1.声明一个CPU类,包含等级rank,频率frequency,电压voltage等属性,有两个共有函数
//    stop 和ran。
//    其中,rank为枚举类型CPU_Rank,声明为enum CPU_Rank{p1=1,p2,p3,p4,p5,p6,p7},frequency为单位
//    MHz整数,voltage是浮点型电压值。
//2.声明一个RAM类,CDROM类。为实验四下半部分基于类的组合来构建Computer类打下基础。
//    提示:1.RAM类的主要参数包括:容量。类型和主频;类型建议用枚举类型(DDR4/DDR3/DDR2...)。
//         2.CD_ROM类的主要参数包括:接口类型、缓存容量、安装方式;
//         接口interface类型建议用枚举类型(SATA、USB...),安装install方式建议用枚举类型(external/built-in)。
//

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

enum CPU_Rank{p1=1,p2,p3,p4,p5,p6,p7};//初始值为1,后面一次递增
class CPU{
private: //声明cpu类的属性,数据成员
    CPU_Rank rank;//等级
    int frequency;//频率
    float voltage;//电压
public:
    //带有参数的CPU类的构造函数
    CPU (CPU_Rank r, int f, float v){
        rank = r;
        frequency = f;
        voltage = v;
        cout<<"Creat a CPU构造函数!\n";
    }
    //析构函数
    ~CPU(){cout<<"release a CPU析构函数!\n";}

    //函数成员
    //外部接口函数,外部访问私有成员的接口
    CPU_Rank GetRank()const{return rank;}
    int GetFrequency()const{return frequency;}
    float GetVoltage()c

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值