定义一个类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."。
输入为11个int类型范围内的整数。
见样例~~~
1
#include <iostream> #include <string> using namespace std; class Data { private: int data; public: Data() { data = 0; cout << "Data's default constructor." << endl; } Data(int _data) { data = _data; cout << "Data "<<data<<" is created." << endl; } int getValue() { return data; } void setValue(int _data) { data = _data; } ~Data() { cout << "Data "<<data<<" is erased." << endl; } }; class DataArray { private: Data data[10]; int *dd; public: DataArray() { cout << "DataArray's default constructor." << endl; } void setValues(int *d) { dd = d; for(int i = 0;i < 10;i++) { data[i].setValue(dd[i]); } } int getSum() { int sum = 0; for (int i = 0;i < 10;i++) { sum += dd[i]; } 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; }