Experimento C ++ --- la primera experiencia de la clase (IV)

La primera experiencia de la clase (IV)

Descripción

Defina una clase de datos con solo un atributo de tipo int y los siguientes métodos:

El constructor predeterminado, inicializa la propiedad a 0 y genera "Constructor predeterminado de datos".

El constructor con parámetros inicializa los atributos a los parámetros especificados y genera "Se crea el número de datos", donde "#" es el valor del parámetro.

Destructor, salida: "El número de datos se borra", donde "#" es el valor del atributo.

int getValue (): obtiene el valor del atributo.

void setValue (int): establece el valor del atributo.

Defina una clase de matriz DataArray compuesta de objetos de datos, que incluyen:

Una matriz de objetos compuesta por 10 objetos de la clase Data.

Constructor predeterminado: no hace nada, solo genera una línea del "constructor predeterminado de DataArray".

void setValues ​​(int d [10]) —— Establezca los valores de propiedad de 10 objetos de datos en los 10 valores del parámetro d.

int getSum (): encuentra la suma de los valores de propiedad de 10 objetos de datos.

Destructor: genera una línea del "deconstructor de DataArray".
La entrada
es un número entero en el rango de 11 tipos int.
Salida
ver muestra ~~~
Entrada de muestra

1 2 3 4 5 6 7 8 9 10 100

Salida de muestra

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.

Título dado código

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;
}

código:

#include<iostream>

using namespace std;

class Data{
    
    
int data;
public:
	Data(){
    
    
		data=0;
		cout<<"Data’s default constructor."<<endl;
	}	
	
	~Data(){
    
    
		cout<<"Data "<<data<<" is erased."<<endl;
	}
	
	Data(int dd){
    
    
		data=dd;
		cout<<"Data "<<data<<" is created."<<endl; 
	}
	
	int getValue(){
    
    
		return data;
	}
	
	void setValue(int nn){
    
    
		data=nn;
	}
};

class DataArray{
    
    
	Data arr[10];
public:
	DataArray(){
    
    
		cout<<"DataArray’s default constructor."<<endl;
	}
	
	~DataArray(){
    
    
		cout<<"DataArray’s deconstructor."<<endl;
	}
	
	void setValues(int d[10]){
    
    
		for(int i=0;i<10;i++){
    
    
			arr[i].setValue(d[i]);
		}
	}
	
	int getSum(){
    
    
		int sum=0;
		for(int i=0;i<10;i++){
    
    
			sum+=arr[i].getValue();
		}
		return sum;
	}
};

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;
}

Supongo que te gusta

Origin blog.csdn.net/timelessx_x/article/details/115262457
Recomendado
Clasificación