求以下问题的完整代码

如图所示,要求使用c++面向对象的程序设计方法,并且使用构造函数和析构函数

img


#include <iostream>
using namespace std;

int main()
{
  int number, sum = 0;
  cout << "输入一个三位数:" << endl;
  cin >> number;
  while (number > 0)
  {
    sum += number % 10; // 取余得到最低位的数字
    number /= 10; // 整除得到去掉最低位的数字
  }
  cout << "该数各位之和为:" << sum << endl;
  return 0;
}

使用构造函数和析构函数

#include <iostream>
using namespace std;

class SumDigits
{
  private:
    int number, sum;
  public:
    // 构造函数,接受一个三位数作为参数
    SumDigits(int n)
    {
      cout << "对象被创建,输入的数为:" << n << endl;
      number = n;
      sum = 0;
    }
    // 计算各位之和的方法
    void calculate()
    {
      while (number > 0)
      {
        sum += number % 10; // 取余得到最低位的数字
        number /= 10; // 整除得到去掉最低位的数字
      }
    }
    // 输出各位之和的方法
    void display()
    {
      cout << "该数各位之和为:" << sum << endl;
    }
    // 析构函数,输出对象被销毁的信息
    ~SumDigits()
    {
      cout << "对象被销毁" << endl;
    }
};

int main()
{
  int num;
  cout << "输入一个三位数:" << endl;
  cin >> num;
  SumDigits obj(num); // 创建SumDigits类的对象,调用构造函数
  obj.calculate(); // 调用计算各位之和的方法
  obj.display(); // 调用输出各位之和的方法
  return 0; // 程序结束,调用析构函数
}


#include<iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int sum=0,m;
    m=n;
    while(m!=0)
    {
        n=m%10;
        m=m/10;
        sum=sum+n;
    }
    cout<<sum<<endl;
    return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^