El estudio de C ++ señala la definición e inicialización de nueve clases

En C ++, puede usar clases para definir sus propios tipos de datos, entonces, ¿cómo entender sus propios tipos de datos? Por ejemplo, somos comunes como int, float, char ... y así sucesivamente, que son todos un tipo de datos, luego, por ejemplo, quiero definir un tipo de datos llamado reloj, que contiene horas, minutos, segundos y se puede mostrar, luego podemos usar la clase para definir nuestro propio reloj de tipo de datos.
Definido como sigue

class clock {
    
    
public:
	void setime(int hour, int minute, int second);
	void showtime();
	clock(int newh, int newm, int news);//构造函数
	clock();//默认构造函数
private:
	int hour;
	int minute;
	int second;

};

clase : la palabra clave de la clase de declaración, la forma básica de la clase de declaración.
clock : nombre de la clase, que significa hora, minuto y segundo.
público, privado: indica los atributos del miembro en la clase, donde público indica que los atributos del miembro de la clase son públicos y se puede acceder fuera de la clase. El formulario de acceso específico es: nombre de la clase. nombre del miembro, donde los miembros de la clase pueden ser ya sea datos o El nombre de la función, por ejemplo, quiero acceder a la función setime en tiempo cuyo tipo de datos es reloj, y el formulario de acceso es time.setime ()
privado: es un miembro privado de la clase, al que no se puede acceder fuera de la clase, pero se puede acceder a él en el miembro.
De hecho, también hay un miembro de atributo protegido, que es similar a privado, pero es ligeramente diferente en algunos aspectos, que se presentará en un artículo posterior.
Constructor : Contiene el constructor predeterminado y el constructor definido por usted mismo. La función del constructor es inicializar los miembros, como los miembros en privado. La forma de construcción es el nombre de la clase (parámetro) y el constructor no puede tener un valor de retorno. Tomando el reloj anterior como ejemplo, la forma del constructor es:

clock(int newh, int newm, int news);//构造函数
clock();//默认构造函数

Definición de función : después de definir los miembros de la función en la clase, la función se puede definir fuera de la clase o dentro de la clase. El método de definición es el tipo de valor de retorno nombre de clase: nombre de la función (parámetro). Tome la función showtime anterior como ejemplo . La forma de definición es

void clock::showtime()
{
    
    
	cout << "time" << " is   " << hour << " : " << minute << "   : " << minute << endl;

}

Aquí hay un ejemplo para facilitar la comprensión de la definición de la clase y el rol del constructor. Simplemente defina una clase de reloj e inicialícela de dos maneras diferentes, e imprima los datos inicializados. El código completo es el siguiente

# include <iostream>
# include <string>
# include <vector>
using namespace std;
class clock {
    
    
public:
	void setime(int hour, int minute, int second);
	void showtime();
	clock(int newh, int newm, int news);//构造函数
	clock();//默认构造函数
private:
	int hour;
	int minute;
	int second;

};

void clock::setime(int newhour, int newminute, int newsecond)
{
    
    
	hour = newhour;
	minute = newminute;
	second = newsecond;
}
void clock::showtime()
{
    
    
	cout << "time" << " is   " << hour << " : " << minute << "   : " << minute << endl;

}
 clock::clock(int newh, int newm, int news):hour(newh),minute(newm),second(news)
{
    
    
	 //初始化列表,对象进行简单的初始化时可以采用此方式,可以优先执行初始化列表从而提高运行的速度
}
 clock::clock():hour(0),minute(0),second(0) {
    
    }
int main()
{
    
    
	/*clock  time;*/
	//time.setime(16, 41, 35);
	//time.showtime();

	//默认构造函数
	clock time1;
	time1.showtime();
	//构造函数初始化
	clock time2(9, 27, 6);
	time2.showtime();
}

La lista de inicialización utilizada anteriormente es en realidad una forma de inicialización rápida, porque la inicialización simple es asignar un valor a la variable correspondiente. Es lo mismo escribir la instrucción de asignación en el cuerpo de la función, y el resultado de la ejecución se muestra en la figura.
Resultados de ejecución del programa
Lo anterior es la definición de una clase simple y el uso del constructor.

Supongo que te gusta

Origin blog.csdn.net/qq_41803340/article/details/112506471
Recomendado
Clasificación