有理想的上学人 2023-04-14 18:40 采纳率: 100%
浏览 9
已结题

程序填空,程序运行结果

下面程序运行的结果是?

#include <iostream>
using namespace std;
class Demo
{ 
    public:
        Demo(){data=1;}
        Demo(int d):data(d){ }
        void setData(int d){data=d;}
        int getData(){return data;}
        
     private:
        int data;
};
int main()
{
    Demo array[6]={10,20,30},*pa=array+5;
    pa->setData(pa->getData()+15);
    while(pa>array)
    {  
       int d=(pa--)->getData();
       pa->setData(d+pa->getData());
       cout<<pa->getData()<<'.';
    }
    return 0;
}

运行结果是什么,这个程序是怎样运行的?

  • 写回答

2条回答 默认 最新

  • 社区专家-Monster-XH 2023-04-14 18:55
    关注

    基于Monster 组和GPT的调写:

    img


    这个程序首先定义了一个名为Demo的类,该类包含一个私有数据成员data和一些公共成员函数。

    在主函数中,定义了一个名为array的Demo类型的数组,数组的前三个元素分别被初始化为10、20和30,后三个元素没有被初始化,因此它们将使用默认构造函数初始化为1。

    还定义了一个名为pa的Demo指针,它被初始化为array+5,即指向数组中的最后一个元素。

    接下来,pa->setData(pa->getData()+15)语句将最后一个元素的数据值设置为16(即1+15)。

    然后,程序进入while循环。在循环中,首先执行pa--操作,将pa指针指向数组中的下一个元素。然后,将该元素的数据值存储在d变量中。

    接下来,pa->setData(d+pa->getData())语句将该元素的数据值设置为其自身的值加上其前一个元素的数据值。

    最后,cout<getData()<<'.';语句输出该元素的数据值,并在其后面添加一个句点。

    循环执行5次,分别输出17.18.48.68.78.,最后程序返回0。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月22日
  • 已采纳回答 4月14日
  • 创建了问题 4月14日

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境