mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-04-27 07:33:57 +00:00
Merge pull request #4234 from DiddiLeija/c++-spanish-2
[c++/es-es] Fix more typos
This commit is contained in:
commit
7f5d9b460a
@ -8,6 +8,7 @@ contributors:
|
|||||||
- ["Connor Waters", "http://github.com/connorwaters"]
|
- ["Connor Waters", "http://github.com/connorwaters"]
|
||||||
translators:
|
translators:
|
||||||
- ["Gerson Lázaro", "https://gersonlazaro.com"]
|
- ["Gerson Lázaro", "https://gersonlazaro.com"]
|
||||||
|
- ["Diego Ramirez", "https://DiddiLeija.github.io"]
|
||||||
lang: es-es
|
lang: es-es
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -458,8 +459,8 @@ public:
|
|||||||
// pero inicializa el punto al valor por defecto (0, 0)
|
// pero inicializa el punto al valor por defecto (0, 0)
|
||||||
Point() { };
|
Point() { };
|
||||||
|
|
||||||
// The following syntax is known as an initialization list
|
// La siguiente sintaxis se conoce como lista de inicialización
|
||||||
// and is the proper way to initialize class member values
|
// y es la forma correcta de inicializar los valores de los miembros de la clase
|
||||||
Point (double a, double b) :
|
Point (double a, double b) :
|
||||||
x(a),
|
x(a),
|
||||||
y(b)
|
y(b)
|
||||||
@ -472,7 +473,7 @@ public:
|
|||||||
Point& operator+=(const Point& rhs);
|
Point& operator+=(const Point& rhs);
|
||||||
|
|
||||||
// También tendría sentido añadir los operadores - y -=,
|
// También tendría sentido añadir los operadores - y -=,
|
||||||
// Pero vamos a omitirlos por razones de brevedad.
|
// pero vamos a omitirlos por razones de brevedad.
|
||||||
};
|
};
|
||||||
|
|
||||||
Point Point::operator+(const Point& rhs) const
|
Point Point::operator+(const Point& rhs) const
|
||||||
@ -494,7 +495,7 @@ int main () {
|
|||||||
// Llama al operador + de Point
|
// Llama al operador + de Point
|
||||||
// Point llama la función + con right como parámetro
|
// Point llama la función + con right como parámetro
|
||||||
Point result = up + right;
|
Point result = up + right;
|
||||||
// Prints "Result is upright (1,1)"
|
// Imprime "Result is upright (1,1)"
|
||||||
cout << "Result is upright (" << result.x << ',' << result.y << ")\n";
|
cout << "Result is upright (" << result.x << ',' << result.y << ")\n";
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -523,7 +524,7 @@ public:
|
|||||||
// plantilla con parámetros sustituidos, por lo que la definición completa
|
// plantilla con parámetros sustituidos, por lo que la definición completa
|
||||||
// de la clase debe estar presente en cada invocación.
|
// de la clase debe estar presente en cada invocación.
|
||||||
// Es por esto que usted verá clases de plantilla definidas
|
// Es por esto que usted verá clases de plantilla definidas
|
||||||
// Enteramente en archivos de cabecera.
|
// enteramente en archivos de cabecera.
|
||||||
|
|
||||||
//Para crear una instancia de una clase de plantilla en la pila:
|
//Para crear una instancia de una clase de plantilla en la pila:
|
||||||
Box<int> intBox;
|
Box<int> intBox;
|
||||||
@ -542,7 +543,7 @@ boxOfBox.insert(intBox);
|
|||||||
|
|
||||||
// A veces verás
|
// A veces verás
|
||||||
// template<typename T>
|
// template<typename T>
|
||||||
// en su lugar. La palabra clave "class" y las palabras clave "typename" son
|
// en su lugar. La palabra clave "class" y la palabra clave "typename" son
|
||||||
// mayormente intercambiables en este caso. Para la explicación completa, mira
|
// mayormente intercambiables en este caso. Para la explicación completa, mira
|
||||||
// http://en.wikipedia.org/wiki/Typename
|
// http://en.wikipedia.org/wiki/Typename
|
||||||
// (sí, esa palabra clave tiene su propia página de Wikipedia).
|
// (sí, esa palabra clave tiene su propia página de Wikipedia).
|
||||||
@ -566,7 +567,7 @@ Dog fluffy;
|
|||||||
fluffy.setName("Fluffy")
|
fluffy.setName("Fluffy")
|
||||||
barkThreeTimes(fluffy); // Imprime "Fluffy barks" 3 veces.
|
barkThreeTimes(fluffy); // Imprime "Fluffy barks" 3 veces.
|
||||||
|
|
||||||
Los parámetros de la plantilla no tienen que ser las clases:
|
// Los parámetros de la plantilla no tienen que ser las clases:
|
||||||
template<int Y>
|
template<int Y>
|
||||||
void printMessage() {
|
void printMessage() {
|
||||||
cout << "Aprende C++ en " << Y << " minutos!" << endl;
|
cout << "Aprende C++ en " << Y << " minutos!" << endl;
|
||||||
@ -602,7 +603,7 @@ printMessage<10>(); // Prints "Aprende C++ rapido en solo 10 minutos!"
|
|||||||
//Todas las excepciones lanzadas dentro del bloque _try_ pueden ser
|
//Todas las excepciones lanzadas dentro del bloque _try_ pueden ser
|
||||||
// capturados por los siguientes manejadores _catch_.
|
// capturados por los siguientes manejadores _catch_.
|
||||||
try {
|
try {
|
||||||
// No asignar excepciones en el heap usando _new_.
|
// No asigne excepciones en el heap usando _new_.
|
||||||
throw std::runtime_error("Ocurrió un problema");
|
throw std::runtime_error("Ocurrió un problema");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -627,10 +628,10 @@ catch (...)
|
|||||||
// (Adquisición de recursos es inicialización).
|
// (Adquisición de recursos es inicialización).
|
||||||
// A menudo se considera el paradigma más poderoso en C++
|
// A menudo se considera el paradigma más poderoso en C++
|
||||||
// Y el concepto es simple: un constructor de un objeto
|
// Y el concepto es simple: un constructor de un objeto
|
||||||
// Adquiere recursos de ese objeto y el destructor les libera.
|
// adquiere recursos de ese objeto y el destructor les libera.
|
||||||
|
|
||||||
// Para entender cómo esto es útil,
|
// Para entender cómo esto es útil,
|
||||||
// Considere una función que utiliza un identificador de archivo C:
|
// considere una función que utiliza un identificador de archivo C:
|
||||||
void doSomethingWithAFile(const char* filename)
|
void doSomethingWithAFile(const char* filename)
|
||||||
{
|
{
|
||||||
// Para empezar, asuma que nada puede fallar.
|
// Para empezar, asuma que nada puede fallar.
|
||||||
@ -689,11 +690,11 @@ bool doSomethingWithAFile(const char* filename)
|
|||||||
|
|
||||||
failure:
|
failure:
|
||||||
fclose(fh);
|
fclose(fh);
|
||||||
return false; // Propagate el error
|
return false; // Propaga el error
|
||||||
}
|
}
|
||||||
|
|
||||||
// Si las funciones indican errores mediante excepciones,
|
// Si las funciones indican errores mediante excepciones,
|
||||||
// Las cosas son un poco más claras, pero pueden optimizarse mas.
|
// las cosas son un poco más claras, pero pueden optimizarse más.
|
||||||
void doSomethingWithAFile(const char* filename)
|
void doSomethingWithAFile(const char* filename)
|
||||||
{
|
{
|
||||||
FILE* fh = fopen(filename, "r"); // Abrir el archivo en modo lectura
|
FILE* fh = fopen(filename, "r"); // Abrir el archivo en modo lectura
|
||||||
@ -730,9 +731,9 @@ void doSomethingWithAFile(const std::string& filename)
|
|||||||
|
|
||||||
// Esto tiene ventajas _enormes_:
|
// Esto tiene ventajas _enormes_:
|
||||||
// 1. No importa lo que pase,
|
// 1. No importa lo que pase,
|
||||||
// El recurso (en este caso el manejador de archivo) será limpiado.
|
// el recurso (en este caso el manejador de archivo) será limpiado.
|
||||||
// Una vez que escribes el destructor correctamente,
|
// Una vez que escribes el destructor correctamente,
|
||||||
// Es _imposible_ olvidar cerrar el identificador y permitir
|
// es _imposible_ olvidar cerrar el identificador y permitir
|
||||||
// fugas del recurso.
|
// fugas del recurso.
|
||||||
// 2. Tenga en cuenta que el código es mucho más limpio.
|
// 2. Tenga en cuenta que el código es mucho más limpio.
|
||||||
// El destructor se encarga de cerrar el archivo detrás de cámaras
|
// El destructor se encarga de cerrar el archivo detrás de cámaras
|
||||||
|
Loading…
Reference in New Issue
Block a user