Jump to content

Retornar um ponteiro para um objeto de uma classe


Recommended Posts

Posted (edited)

Boas pessoal, é possível criar uma função numa class A que devolva um ponteiro para um objeto instanciado da class B ?

Exemplo:

class Autodromo
{
	private:
		string nome;
		Pista pista;

	public:
		Autodromo::Autodromo(string nome, int maxCarros, int comprimento) : nome(nome), pista(maxCarros, comprimento) {}
		Pista* getPista() const;
};
class Pista
{
	int maxCarros;
	int comprimento;
	int segundo;

public:
	Pista(int maxCarros, int comprimento);
};

Eu tentei criar a função 

// Autodromos.h
Pista* getPista() const;

// Autodromos.cpp
Pista* Autodromo::getPista() const {
	return *pista;
}

mas não consigo devolver um ponteiro para o objeto pista da classe Autodromo. Sempre que compilo, aparece-me o erro:

- no operator "*" matches these operands

Edited by whoami-r
  • 1 month later...
Posted

Bem ... primeiro de mais, o teu exemplo não apresenta aquilo que indicas que é o objectivo

Quote

uma função numa class A que devolva um ponteiro para um objeto instanciado da class B

não é nada disso que está apresentado no exemplo.

 

tirando isso, indica que tipo de dados é a variável "pista" ?

que tipo de dados é o retorno na função "getPista" ?

o que indica o operador "*" ?

qual será realmente o operador para obter o valor correcto a retornar ?

IRC : sim, é algo que ainda existe >> #p@p

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.