Cómo hacer que una variable de cadena ingresada por el usuario sea el nombre de un nuevo objeto en una clase

programación


Estoy intentando que una variable de cadena ingresada por el usuario tenga el nombre de un nuevo objeto.
Quiero que el usuario tome el nombre de un objeto en la clase avión. Cualquier cosa que intento hace que la computadora piense que quiero redefinir el nombre de la variable que le di para almacenar la entrada del usuario y convertirlo en el nombre real del objeto, en lugar de que el objeto sea el nombre almacenado en el nombre de la variable. Estoy pensando que el puntero podría ser la respuesta, pero acabo de empezar a utilizarlos y no sé cómo usarlos correctamente.

Lo que he probado:

C++
string flight;
cin>> flight;
Airplane flight;

y como mencioné anteriormente, he intentado hacer que el vuelo sea un puntero antes de la última línea, pero no funcionó, aunque podría ser que yo esté haciendo un mal uso de los punteros:(

Solución 1

El nombre de un objeto se puede almacenar en una variable miembro de la clase. En tu caso, podría verse así:

C++
class MyClass {
public:
    string flight;
};

MyClass Airplane;
cin >> Airplane.flight;

Solución 2

Los nombres de las variables realmente no existen mientras se ejecuta el código: el compilador los utiliza para crear ubicaciones de almacenamiento que pueden estar en la memoria, pero pueden estar completamente dentro del procesador, que tiene un gran conjunto de registros que no tienen nada que ver con la memoria. . Los nombres reales que les da se fijan cuando compila su aplicación y se descartan cuando se crea el archivo EXE que ejecuta.

No puede “crear una variable” mientras se ejecuta su código, crea una ubicación de almacenamiento (en el montón, por ejemplo) y almacena la ubicación de esa en una variable o una colección (una referencia a la cual se almacena en una variable ).

Piensa en variables como libros: el libro tiene un título (la variable tiene un nombre) y puedes tener muchos libros en un estante (muchas variables en una aplicación), pero para agregarle información no creas mágicamente un libro nuevo. libro, abres uno existente y escribes en una página. Los libros son variables en su código, las páginas son las ubicaciones de almacenamiento dentro del libro, y así como agrega información al encontrar una página en blanco para escribir, en su código agrega una nueva ubicación de almacenamiento a una lista (por ejemplo) y almacena el información en eso.

La clase contiene miembros que pueden incluir el nombre, la dirección, la edad, el destino, etc., por lo que crea una instancia de la clase y completa su información individual para cada usuario que desea agregar a su aplicación.

コメント

タイトルとURLをコピーしました