第六周 阅读程序(2)

本文通过一个C++程序示例,展示了类构造及析构过程中的输出,并介绍了动态分配与释放内存的方法。程序创建了三个MyClass实例,每个实例在构造和析构时输出特定字符与值。

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

问题描述:

阅读程序,写出程序的运行结果并理解。

  1. #include <iostream>  
  2. using namespace std;  
  3. class MyClass  
  4. {  
  5. public:  
  6.     MyClass(int x=0):i(x)  
  7.     {  
  8.         cout<<"C"<<i;  
  9.     }  
  10.     ~MyClass()  
  11.     {  
  12.         cout<<"D"<<i;  
  13.     }  
  14.     void SetValue(int val)  
  15.     {  
  16.         i=val;  
  17.     }  
  18.     int GetVal()  
  19.     {  
  20.         return i;  
  21.     }  
  22. private:  
  23.     int i;  
  24. };  
  25. int main()  
  26. {  
  27.     MyClass *p[3];  
  28.     int i;  
  29.     for (i=0; i<3; i++)  
  30.     {  
  31.         p[i]=new MyClass(i);  
  32.         p[i]->SetValue(p[i]->GetVal()*2);  
  33.     }  
  34.     for (i=0; i<3; i++)  
  35.         delete p[i];  
  36.     cout<<endl;  
  37.     return 0;  
  38. }  
预计运行结果:C0C1C2D0D2D4

实际运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值