Problem E: 类的初体验(V)
Description
定义一个类Data,只有一个int类型的属性和如下方法:
1. 缺省构造函数,将属性初始化为0,并输出"Data's default constructor."。
2. 析构函数,输出:"Data # is erased.",其中“#”是属性值。
4. int getValue()——获得属性值。
5. void setValue(int)——设置属性值。
定义一个由Data的对象组成的数组类DataArray,该类包括1个int类型的属性和一个Data*类型的属性,分别为数组中元素的个数、所有的元素。定义如下方法:
2. 构造函数——参数格式请参考main函数的调用方法给出,输出:"DataArray's constructor."。
3. int getSum()——求所有Data对象属性值的和。
4. 析构函数——输出一行"DataArray's deconstructor."。
Input
若干个整数。个数大于2个。
第1个N表示后面输入的元素个数。之后有N个整数。它们用于设置main函数中DataArray的对象datas的数组元素值。
最后一个整数用于设置main函数中testP指向的对象的值。
Output
见样例~
Sample Input
Sample Output
HINT
Append Code
int main(){ int i, n; Data test, *testP; cin>>n; int tmp[n]; for (i = 0; i < n; i++) cin>>tmp[i]; DataArray datas(n, tmp); cout<<"Sum is "<<datas.getSum()<<endl; testP = new Data; cin>>n; testP->setValue(n); delete testP; return 0;}using namespace std;
class Data
{
private:
int d;
public:
Data()
{
d=0;
cout<<"Data's default constructor."<<endl;
}
~Data()
{
cout<<"Data "<<d<<" is erased."<<endl;
}
int getValue()
{
return d;
}
void setValue(int a)
{
d=a;
}
};
class DataArray
{
private:
int da;
Data *t;
public:
DataArray(int n,int *tmp)
{da=n;
int i;
t=new Data[n];
for(i=0; i<n; i++)
{
t[i].setValue(tmp[i]);
}
cout<<"DataArray's constructor."<<endl;
}
int getSum()
{
int i,sum=0;
for(i=0; i<da; i++)
{
sum+=t[i].getValue();
}
return sum;
}
~DataArray()
{
delete []t;
cout<<"DataArray's deconstructor."<<endl;
}
};
int main()
{
int i, n;
Data test, *testP;
cin>>n;
int tmp[n];
for (i = 0; i < n; i++)
cin>>tmp[i];
DataArray datas(n, tmp);
cout<<"Sum is "<<datas.getSum()<<endl;
testP = new Data;
cin>>n;
testP->setValue(n);
delete testP;
return 0;
}
Problem E: 类的初体验(V)的更多相关文章
- Problem D: 类的初体验(IV)
Description 定义一个类Data,只有一个int类型的属性和如下方法: 1. 缺省构造函数,将属性初始化为0,并输出"Data's default constructor.&q ...
- Problem C: 类的初体验(III)
Description 定义一个类Data,只有一个double类型的属性和如下4个方法: 1. 缺省构造函数,将属性初始化为0,并输出“Initialize a data 0”. 2. 带参构 ...
- Problem B: 类的初体验(II)
Description 定义一个类Data,只有一个double类型的属性和如下3个方法: 1. 带1个参数的构造函数——初始化属性值为参数值. 2. double getValue()——获 ...
- Problem A: 类的初体验
Description 定义一个类Data,只有一个double类型的属性和如下3个方法: 1. void init(double d);——初始化属性值. 2. double getVal ...
- SpringCloud初体验:五、Sidecar 将 PHP 这类非 Java 生态语言的服务接入 Spring Cloud
先起一个 Sidecar 服务,一个PHP服务一个应用,和PHP服务部署在同一台机子,通过 localhost 访问,这样就解决了网络开销,相当于本地进程间调用 Sidecar 服务比较简单, 1.这 ...
- 聚合类新闻client初体验
初体验的产品:今日头条(ios3.6).百度新闻(ios4.4.0).ZAKER(ios4.4.5).鲜果(ios3.8.7).中搜搜悦(ios4.0.1).Flipboard(ios2.3.9) 1 ...
- Xamarin.iOS开发初体验
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0
- SignalR初体验
简介 ASP .NET SignalR[1] 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以 ...
- Scala 深入浅出实战经典 第66讲:Scala并发编程实战初体验
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
随机推荐
- easy ui datatimebox databox 当前时间
databox 当前日期: class="easyui-datebox" var curr_time = new Date(); var strDate = curr_time. ...
- 【Spark-core学习之一】 Spark初识
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...
- 创建servlet程序知识点详解---servlet-day07
情景1: 京东在买东西的时候,只有结帐的时候才会要求必须登录账户 #1.状态管理 ##(1)什么是状态管理? 将浏览器与web服务器之间多次交互当做一个整体来处理,并且将多次交互所涉及的数据(即状态) ...
- GO语言常量和变量
标识符与关键字 标识符 人为定义有特殊意义的词,Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头. 关键字 关键字是指编程语言中预先定义好的具有特殊含义的标识符. GO语言中有25 ...
- np.meshgrid()用法+ np.stack()用法
A,B,C,D,E,F是6个网格点,坐标如图,如何用矩阵形式(坐标矩阵)来批量描述这些点的坐标呢?答案如下 这就是坐标矩阵——横坐标矩阵X XX中的每个元素,与纵坐标矩阵Y YY中对应位置元素,共同构 ...
- 什么是DNS攻击?它是如何工作的?
什么是DNS攻击?它是如何工作的? DNS攻击是一种利用域名系统中的弱点或漏洞的网络攻击.今天,互联网已成为我们生活中不可或缺的一部分.从社交到金融.购物再到旅游,我们生活的方方面面都是互联网.由于互 ...
- Linux 查看内存状态
# 查看系统内存 命令:free 注:默认k单位显示 注:-m 以MB 注:-g以GB 单位显示 total used free shared buffers cached Mem: -/+ buff ...
- 微信小程序,天气预报(百度地图开放平台API)
小程序看似一种全新的东西,但好在基本上就是曾经HTML,CSS,JS的一个微变版本. 语法和之前一样.只是一些用法和名字(标签)发生了一些变化. 小程序主要就四种扩展名的文件:js,json,wxml ...
- Codeforces 932G Palindrome Partition - 回文树 - 动态规划
题目传送门 通往???的传送点 通往神秘地带的传送点 通往未知地带的传送点 题目大意 给定一个串$s$,要求将$s$划分为$t_{1}t_{2}\cdots t_{k}$,其中$2\mid k$,且$ ...
- js-input框中写入的小写小写字母全部转换成大写字母的js代码
<input type="text" id="blinitials" name="blinitials" onkeyup=" ...