venerdì 22 agosto 2014

Puntatori ^ a una classe in CLI

Adesso creiamo dinamicamente una istanza di una classe, prima con i puntatori tradizionali e quindi con questi "handle".
#include "stdafx.h"

using namespace System;

class Classe{
public:
	int variabile;
	Classe(int parametro){
		variabile=parametro;
	}
	void stampa(){
		Console::WriteLine(variabile);
		Console::ReadLine();
	}
};

int main(){
	Classe * miaClasse=new Classe(1234);
	miaClasse->stampa();
}
1234




#include "stdafx.h"

using namespace System;

ref class Classe{
public:
	int variabile;
	Classe(int parametro){
		variabile=parametro;
	}
	void stampa(){
		Console::WriteLine(variabile);
		Console::ReadLine();
	}
};

int main(){
	Classe ^ miaClasse = gcnew Classe(1234);
	miaClasse->stampa();
}
1234


Ecco: con questi puntatori non si usa l'operatore di deindirizzamento *, ma si usa lo stesso il -> come per i puntatori tradizionali.
Inoltre la classe deve essere dichiarata ref.

Nessun commento:

Posta un commento