La pregunta en negrita se refiere a eso?
tengo una clase objeto1 y quiero crear una clase objeto2 que sea:
class objeto2
{
int ruedas;
objeto1 objeto;
public:
void set_ruedas(int num) { ruedas = num;}
int get_ruedas() { return ruedas; }
void set_pasajeros(int num) { pasajeros = num; }
int get_pasajeros() { return pasajeros; }
void set_objeto(objeto1 o) { objeto = o; }
objeto1 get_objeto() { return objeto; }
}
Si es eso, a menos que no vaya muy mal claro que se puede. El requisito a cumplir es un include en objeto2 de objeto1 (para que sepa que exista), y evidentemente tendras que sobrecargar el operador de asignacion si te hace falta hacer el objeto = o del ejemplo.
PEROLo que tu pones es un ejemplo de herencia (bien usada) pero que para mi no responde en nada la pregunta. Con la herencia tienes algo que es una clase base "mas compleja". Es decir, hace lo mismo que la base y mas cosas. Y lo otro es una clase formada de otras clases (en un paradigma orientado a objetos "puro" todo es una clase, INT es la clase de enteros. En C++
no es asi y hay tipos primitivos, pero bueno)
Me explico un poco mal, pero a ver si te sirve de algo