Me gustaría saber si son básicamente lo mismo.Pasar referencias a un constructor C++ y guardarlos en tipos de referencia o no referencia
class ExampleClass {
public:
ExampleClass(Object& newObj) : obj(newObj) {}
private:
Object obj;
}
class ExampleClass2 {
public:
ExampleClass2(Object& newObj) : objReference(newObj) {}
private:
Object& objReference;
}
¿No funcionaría esto con alguna de las clases?
ExampleClass* getExampleObject() {
Object obj;
return new ExampleClass(obj);
}
ExampleClass2* getExample2Object() {
Object obj;
return new ExampleClass2(obj);
}
void main() {
ExampleClass* ec = getExampleObject();
ExampleClass2* ec2 = getExample2Object();
//Do something involving the member objects of ec and ec2
}
también lo son los miembros objetos no válidos después de que ambos métodos getExampleObject? ¿El constructor de ExampleClass no guarda una copia del objeto al que se hace referencia en su constructor?
su código no se compila, ya que no puede asignar punteros (como los devueltos por getExampleObject y getExample2Object) a las variables no puntero ec y ec2. – SirDarius
Sí, lo siento, olvidé el *. – user1468729