Cómo compilar topcoder en c, ¡solicite la plantilla! c++ usa clases, ¿qué usa c?
TopCoder C++ utilizado por programadores de C:
C++ es una extensión orientada a objetos del lenguaje C. C++ tiene muchas ventajas que el lenguaje C tradicional no tiene, y al mismo tiempo sigue siendo compatible con el lenguaje C, por lo que el lenguaje C y C++ se pueden usar al mismo tiempo. En la competencia, debes responder preguntas usando algunas funciones básicas de C++. La siguiente es una breve introducción a algunos conocimientos de C++ que los programadores familiarizados con el lenguaje C deben dominar para participar en la competencia.
Clases y métodos
El concepto nuevo más importante agregado en C++ son las clases. Las clases pueden contener métodos y variables. Al competir, debes escribir una clase que contenga al menos un método. Por ejemplo, consulte la siguiente definición de problema:
Clase: CellTower
Método: mejor
Argumentos: vector
Devuelve: int
Firma del método: int best(vector <. :string> towers, int x, int y)
Para responder a esta pregunta, necesita crear un nombre Clase para CellTower. La clase debe contener un método denominado best. El mejor método debe tener tres parámetros (vector
Las clases se definen utilizando la palabra clave class. La estructura sintáctica para definir una clase es similar a definir una estructura C. Para definir la clase requerida para el problema anterior, use el siguiente código:
class CellTower {
public:
int best(vector
//tu código
}
};
El método de definición del método es el Igual que el de la función del lenguaje C. El método de definición es similar. La palabra clave public le dice al compilador que cualquier objeto puede llamar al método que definimos. Sólo entonces el programa de prueba podrá ejecutar su código correctamente.
STL
Muchas de las clases y funciones que se utilizan a menudo en las competiciones provienen de la Biblioteca de plantillas estándar, a menudo abreviada como STL. STL proporciona una biblioteca de uso general que contiene herramientas que van desde el procesamiento básico de caracteres hasta complejos algoritmos de clasificación.
Para participar en el concurso, debes estar familiarizado con al menos dos clases: vectores y cadenas.
Incluir
Antes de poder utilizar una clase de STL, debes incluir el archivo de encabezado correspondiente en tu código. La clase de vector proviene del archivo de encabezado "vector"; la clase de cadena proviene de "cadena". También necesitas agregar la siguiente línea a tu código:
Esta línea le dice al compilador que busque la clase en el espacio de nombres estándar.
Vector
Vector se utiliza en C++ para reemplazar las matrices de C. Un vector se puede declarar usando vector
vector
El vector recién creado tiene tamaño 0. Para declarar un vector de cualquier otro tamaño, puede usar:
vector
En este ejemplo, el vector recién creado es de tamaño 10.
Para configurar o leer un elemento en un vector, puede usar una sintaxis similar a las matrices en C:
vector
printf("%i", myVar[0]); //Salida 1
A mayor El inconveniente de los arreglos C es que no hay manera de saber qué tan grande es el arreglo mientras el programa se está ejecutando. Esto dificulta el recorrido por cada elemento de la matriz. Con vectores, esta tarea se vuelve muy sencilla. El método size() devolverá el tamaño actual del vector:
for(int i = 0; i < myVar.size(); i++) {
printf("% i", myVar[i]); //Enviar el elemento i-ésimo
}.
Utilice el método resize para cambiar el tamaño del vector:
myVar.resize(15); //myvar se convierte en 15
La clase de vector proporciona muchas otras funciones útiles , haga clic en el enlace de referencia a continuación para obtener más información sobre los vectores.
}
// Devuelve la cadena creada
return s;
}
};< / p>