Description

定义一个类Data,只有一个int类型的属性和如下方法:

1.   缺省构造函数,将属性初始化为0,并输出"Data's default constructor."。

2.  带参构造函数,将属性初始化为指定参数,并输出"Data # is created.",其中“#”即参数值。

3. 析构函数,输出:"Data # is erased.",其中“#”是属性值。

4.   int getValue()——获得属性值。

5.    void setValue(int)——设置属性值。

定义一个由Data的对象组成的数组类DataArray,包括:

1. 由10个Data类的对象组成的对象数组。

2. 缺省构造函数——不做任何操作,仅输出一行"DataArray's default constructor."。

3. void setValues(int d[10])——设置10个Data的对象的属性值分别为参数d的10个值。

4. int getSum()——求10个Data对象属性值的和。

5. 析构函数——输出一行"DataArray's deconstructor."。

Input

输入为11个int类型范围内的整数。

Output

见样例~~~

Sample Input

1 2 3 4 5 6 7 8 9 10 100

Sample Output

Data's default constructor. Data's default constructor. Data's default constructor. Data's default constructor. Data's default constructor. Data's default constructor. Data's default constructor. Data's default constructor. Data's default constructor. Data's default constructor. DataArray's default constructor. Sum is 55 Data 100 is created. aData = 100 Data 100 is erased. DataArray's deconstructor. Data 10 is erased. Data 9 is erased. Data 8 is erased. Data 7 is erased. Data 6 is erased. Data 5 is erased. Data 4 is erased. Data 3 is erased. Data 2 is erased. Data 1 is erased.

HINT

Append Code

int main()
{
    DataArray dataArray;
    Data *aData;
    int data[10], tmp;
    int i;
    for (i = 0; i < 10; i++){
        cin>>data[i];
    }
    dataArray.setValues(data);
    cout<<"Sum is "<<dataArray.getSum()<<endl;
 
    cin>>tmp;
    aData = new Data(tmp);
    cout<<"aData = "<<aData->getValue()<<endl;
    delete aData;
    return 0;
}
 
代码
#include <iostream>

using namespace std;
class Data
{
    int a;
public:
    Data():a(0){cout<<"Data's default constructor."<<endl;}
    Data(int x):a(x)
    {
        cout<<"Data "<<a<<" is created."<<endl;
    }
    ~Data()
    {
        cout<<"Data "<<a<<" is erased."<<endl;
    }
    int getValue()
    {
        return a;
    }
    void setValue(int y)
    {
        a=y;
    }
};
class DataArray
{
   Data array[10];
    public:
        DataArray(){cout<<"DataArray's default constructor."<<endl;}
         void setValues(int d[10])
         {
             for(int i=0;i<10;i++)
             {
                 array[i].setValue(d[i]);
             }
         }
         int getSum()
         {
             int sum=0;
             for(int i=0;i<10;i++)
             {
                 sum+=array[i].getValue();
             }
             return sum;
         }
         ~DataArray()
         {
             cout<<"DataArray's deconstructor."<<endl;
         }
};
int main()
{
    DataArray dataArray;
    Data *aData;
    int data[10], tmp;
    int i;
    for (i = 0; i < 10; i++){
        cin>>data[i];
    }
    dataArray.setValues(data);
    cout<<"Sum is "<<dataArray.getSum()<<endl;

cin>>tmp;
    aData = new Data(tmp);
    cout<<"aData = "<<aData->getValue()<<endl;
    delete aData;
    return 0;
}

Problem D: 类的初体验(IV)的更多相关文章

  1. Problem E: 类的初体验(V)

    Description 定义一个类Data,只有一个int类型的属性和如下方法: 1.   缺省构造函数,将属性初始化为0,并输出"Data's default constructor.&q ...

  2. Problem C: 类的初体验(III)

    Description 定义一个类Data,只有一个double类型的属性和如下4个方法: 1.   缺省构造函数,将属性初始化为0,并输出“Initialize a data 0”. 2.  带参构 ...

  3. Problem B: 类的初体验(II)

    Description 定义一个类Data,只有一个double类型的属性和如下3个方法: 1.   带1个参数的构造函数——初始化属性值为参数值. 2.   double getValue()——获 ...

  4. Problem A: 类的初体验

    Description 定义一个类Data,只有一个double类型的属性和如下3个方法: 1.    void init(double d);——初始化属性值. 2.   double getVal ...

  5. SpringCloud初体验:五、Sidecar 将 PHP 这类非 Java 生态语言的服务接入 Spring Cloud

    先起一个 Sidecar 服务,一个PHP服务一个应用,和PHP服务部署在同一台机子,通过 localhost 访问,这样就解决了网络开销,相当于本地进程间调用 Sidecar 服务比较简单, 1.这 ...

  6. 聚合类新闻client初体验

    初体验的产品:今日头条(ios3.6).百度新闻(ios4.4.0).ZAKER(ios4.4.5).鲜果(ios3.8.7).中搜搜悦(ios4.0.1).Flipboard(ios2.3.9) 1 ...

  7. Xamarin.iOS开发初体验

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0

  8. .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验

    不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...

  9. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

随机推荐

  1. Nginx 多域名配置

    nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里.一.每个域名一个文件的写法  ...

  2. Centos7 Yum安装 PHP5.5,5.6,7.0

    默认的版本太低了,手动安装有一些麻烦,想采用Yum安装的可以使用下面的方案: 1.检查当前安装的PHP包 yum list installed | grep php 如果有安装的PHP包,先删除他们 ...

  3. 自定义Word颜色主题

    外观 说明 看到这个黑色编辑器的界面,第一印象可能认为是Sublime.Atom. VScode或者其它markdown编辑器.其实仅仅是微软的Word经过了自定义主题. 选择清晰易于辨认的字体和深色 ...

  4. MySQL 5.6 (Win7 64位)下载、安装与配置图文教程

    一. 工具 Win7 64位操作系统 二. 步骤 第一步:下载安装包 下载 地址:http://www.mysql.com/ 截止到目前(2016/7/24) ,官网的最新版本是5.7.13,不过自己 ...

  5. 网页分享到微博、QQ、QQ空间、微信

    <ul id="content-share-list" class="bdsharebuttonbox bdshare-button-style0-16" ...

  6. Beaglenone读取编码器数据

    一般情况下,beaglebone black默认启动两个cape: 1.BB-BONE-EMMC-2G 2.BB-BONELT-HDMI 我们可以通过编辑uEnv.txt的文件来决定是否启动HDMI, ...

  7. HTML5的自定义属性的使用总结

    https://blog.csdn.net/qq_31851435/article/details/53100691 <div id="myDiv" data-attribu ...

  8. Ubuntu 16.04下vsftpd 安装配置实例

    从https://www.linuxidc.com/Linux/2017-06/144807.htm转载 第一步:安装VSFTPD sudo apt-get install vsftpd 安装完成后启 ...

  9. HAOI(多省联考)2019退役记

    等着回头写 算了今天先写点 Day -1 打扫下机房,不想写题,不想考试.... Day 0 上午颓了一上午 下午看下考场结果去早了 ZYZ 全员进队! Day 1 上来T1,01Tire!,开码,半 ...

  10. ffmpeg 图像转视频 视频转图像

    ffmpeg使用 以下两条可使用,具体可参考:https://blog.csdn.net/pkueecser/article/details/8555261pic to video:ffmpeg -f ...