Tengo dos clases¿Cómo se usa el constructor no predeterminado para un miembro?
class a {
public:
a(int i);
};
class b {
public:
b(); //Gives me an error here, because it tries to find constructor a::a()
a aInstance;
}
¿Cómo puedo conseguirlo de manera que se crea una instancia AINSTANCE con un (int i) en lugar de tratar de buscar un constructor por defecto? Básicamente, quiero controlar la llamada de un constructor desde el constructor de b.
Me doy cuenta de que esto es un ejemplo, y no un código real, pero solo por el bien de ~~ ser una calidad de código pedante ~~, generalmente no es una buena idea hacer campos 'públicos'. Claro, hay algunos casos de uso, y no es "universalmente malo", pero antes de hacerlo, asegúrese de que haya una razón más allá de "podría simplificar parte de mi código" ("simplifica mucho mi código" es una razón perfectamente aceptable , sin embargo) –