Ejercicios integrales de programación de C ++

Al igual que Lu Ban también pasó por una práctica constante antes de convertirse en el antepasado de un carpintero.

... El
maestro planteó la tercera pregunta: "Los dos aprendices aprendieron el oficio y bajaron de la montaña, y el maestro les dio a cada uno un hacha. El aprendiz grande usó el hacha para ganar una montaña de oro, y los dos aprendices usaron el hacha para tallar en los corazones de las personas. Un nombre. ¿De qué aprendiz te gustaría aprender? "Lu Ban respondió de inmediato:" Me gustaría aprender del segundo. "El maestro se rió.
El maestro dijo: "Bueno, tienes todas las respuestas correctas, y tengo que aceptarte. Pero para aprender arte de mí, tienes que usar a mi chico. Pero este chico, no te he llamado en 500 años, tómalo Arreglo. ”
Lu Ban sacó al tipo de la caja de madera y echó un vistazo. El hacha se rompió, el avión estaba demasiado grande, el cincel estaba doblado y calvo, y era hora de limpiar. Se arremangó y lo afiló con la piedra de afilar. Muele durante el día y la noche, de modo que le duelen los brazos y le ampollan las manos, y la piedra de afilar alta y gruesa se muele como una media luna. Después de siete días y siete noches, se afilaba el hacha, se pulía el cepillo, se afilaba el cincel y cada pieza brillaba. Se lo mostró al maestro uno por uno, quien no pudo evitar asentir.
El maestro dijo: "Prueba esta hacha que afilaste. Ve y corta el gran árbol que está frente a la puerta. Ese gran árbol ha crecido durante quinientos años".
Luban levantó el hacha y caminó bajo el gran árbol. Este gran árbol es tan grueso que algunas personas no pueden sostenerlo; cuando miré hacia arriba, estaba a punto de alcanzar el cielo. Cogió un hacha y siguió cortando, cortando el gran árbol doce días y doce noches.
Luban entró en la casa con un hacha para ver al maestro. El maestro dijo: "Prueba con el cepillo que afilaste. Primero, usa un hacha para cortar este gran árbol en un árbol grande, y luego usa el cepillo para planificarlo; debe ser tan suave que no deje rebabas. Es como la luna de los quince ".
Lu Ban se dio la vuelta, tomó un hacha y un avión hacia la puerta. Cortó las ramas del árbol grande con hacha tras hacha, y cepilló los nudos del tronco uno tras otro. Después de doce días y doce noches, cepilló el árbol grande. Tiene que ser redondo y ligero.
Luban tomó el hacha y el avión hacia la casa para ver al maestro. El maestro dijo: "Prueba el cincel que has afilado. Tú cincelas dos mil cuatrocientos ojos en el gran jade: seiscientos cuadrados, seiscientos redondos, seiscientos estúpidos, seiscientos planos".
Lu Ban tomó el cincel y el hacha, se acercó al lado de Dazhu y los cinceló. Esculpió un ojo y otro, y vio el aserrín volar alrededor. Se cortaron doce días y doce noches, y se cortaron dos mil cuatrocientos ojos: seiscientos cuadrados, seiscientos redondos, seiscientos escalonados y seiscientos planos.
Lu Ban trajo cincel y hacha para ver al maestro. El maestro se rió, elogió a Lu Ban y dijo: "¡Buen chico, te enseñaré toda la artesanía!". Llevó a Lu Ban a Westinghouse después de que terminó de hablar. Resultó que en la Westinghouse había muchos modelos, torres, pabellones, puentes y torres, mesas, sillas, palcos y gabinetes, todos tan exquisitos. El profesor dijo con una sonrisa: "Desarmas estos modelos y luego los instalas de nuevo. Cada modelo debe ser desmontado y montado de nuevo. Aprenderás la artesanía con tu propia concentración". El
profesor salió después de hablar. Lu Ban tomó este y miró el otro, pero se mostró reacio a dejarlo. Sostuvo el modelo pieza por pieza en la mano, le dio la vuelta y lo miró, desmantelando cuidadosamente cada pieza tres veces e instalándola tres veces. No me importa comer y dormir todos los días. Cuando el maestro vino a verlo por la mañana, estaba pensando; cuando vino a verlo por la noche, todavía estaba pensando. El maestro lo instó a dormir, pero él aceptó casualmente, pero no dejó el modelo en su mano.
Lu Ban estudió mucho durante tres años y aprendió todos los oficios. El maestro también lo probará, destruirá todos los modelos y lo dejará recrear. Basado en su memoria, hizo cada pieza exactamente igual que la original. El maestro también le propuso muchos modelos nuevos para que los construyera. Lo hizo mientras reflexionaba, y el resultado fue todo de la manera que dijo el maestro. El maestro está muy satisfecho.
...

Muchas características y gramáticas en C ++ no se utilizan en mi trabajo, lo que me lleva a tropezar al asumir los proyectos de otras personas, así que aquí quiero escribir un proyecto que incluya la mayoría de las características para mejorar mi nivel de C ++.

Este es un resumen muy completo ... El
esquema del estudio de C ++ es
también un proyecto UML.

Este es el código en el examen a libro abierto del maestro en un curso de mi universidad, y luego fue fotografiado en secreto y mecanografiado. El conocimiento de las categorías relacionadas en el interior es más nítido y suelto.

#include <iostream>
using namespace std;

//Y类开始=================================================
class Y {
    
    
public:
	Y();
	Y(int j);
	Y(const Y&);
	Y& operator = (const Y&);
	virtual ~Y();
	virtual int GetValue() = 0;
	static unsigned NY() {
    
     return nY; }
private:
	int j;
	static unsigned nY;
};

unsigned Y::nY = 0;
Y::Y() {
    
    
	cout << "default constructor of Y " << endl;
	j = 0;
	++nY;
}

Y::Y(int j) {
    
    
	cout << "regular constructor of Y" << endl;
	this->j = j;
	++nY;
}

Y::Y(const Y& y) {
    
    
	cout << "copy constructor of Y " << endl;
	j = y.j;
	++nY;
}

Y& Y::operator=(const Y& y) {
    
    
	cout << "assignment operator of Y" << endl;
	j = y.j;
	return *this;
}

Y::~Y() {
    
     cout << "destructon of Y" << endl; }

//X类,继承Y类=============================================
class X : public Y {
    
    
public:
	X();
	X(int i);
	X(const X&);
	X& operator=(const X&);
	~X();
	virtual int GetValue() {
    
     return k; }
	static unsigned NX() {
    
     return nX; }
private:
	int k;
	static unsigned nX;
};

unsigned X::nX = 0;
X::X() {
    
    
	cout << "default constructor of X" << endl;
	k = 0;
	++nX;
}

X::X(int i) :Y(i) {
    
    
	cout << "regular constructor of X" << endl;
	k = i;
	++nX;
}

X::X(const X& x) {
    
    
	cout << "copy constructor of X" << endl;
	k = x.k;
	++nX;
}

X& X::operator=(const X& x) {
    
    
	cout << "assignment operaton of X" << endl;
	k = x.k;
	return *this;
}

X::~X() {
    
     cout << "destructor of x" << endl; }

X userCode(X b)
{
    
    
	X c = b;
	return c;
}

//main函数开始==================================================
int main() {
    
    
	cout << "Beginning: Y::NY()=" << Y::NY() << endl;
	cout << "Beginning: X::NX()=" << X::NX() << endl;
	X a(3);
	cout << "calling userCode()" << endl;
	X d;
	d = userCode(a);
	cout << "back to main()" << endl;
	cout << "d.GetValue()" << d.GetValue() << endl;

	Y*e = new X(7);
	cout << "e->GetValue()=" << e->GetValue() << endl;
	cout << "before deleting e Y::NY() = " << Y::NY() << endl;
	cout << "before deleting e X::NX() = " << X::NX() << endl;
	delete e;
	cout << "before ending: Y::NY()" << Y::NY() << endl;
	cout << "before ending: X::NX()" << X::NX() << endl;
	return 0;
}

Supongo que te gusta

Origin blog.csdn.net/sinat_27382047/article/details/102641855
Recomendado
Clasificación