Nowy typ danych - wyświetlanie


(Kjanok) #1

witam

stworzyłem sobie własny typ danych oparty na klasach. Ładnie sobie przeładowałem operatory, żeby móc wygodnie operować na tej zmiennej i niby wszystko gra, tylko... tylko nie wiem, jak wydobyć teraz interesującą mnie wartość... ogólnie sprowadza się to do czegoś takiego

class mytype

{

private:

int value;

public:

//przeładowanie tych wszystkich operatorów i jakieś proste metody

};

int main()

{

mytype test;

test=4;

cout<
return 0;

}

(Quentin) #2

No musisz przeładować operator << najlepiej jako funkcję globalną i jako pierwszy argument dać obiekt klasy ostream a drugi jako obiekt klasy.

#include 

using namespace std;


//////////////////////////////////////////////////

class dane

{


	friend ostream& operator<<(ostream& wyjscie, dane obiekt);


	int wartosc;

	//inne składnki...


public:

	dane(int liczba) : wartosc(liczba)

	{ }


};

//////////////////////////////////////////////////

ostream& operator<<(ostream& wyjscie, dane obiekt)

{

	wyjscie << obiekt.wartosc;

	return wyjscie;

}


int main()

{


	dane wazna_dana(67);


	cout << wazna_dana; //67

	//To samo inaczej:

	//operator<<(cout, wazna_dana); 67

}

I teraz dzięki temu, że funkcja zwraca obiekt klasy ostream można zrobić coś takiego:

cout << wazna_dana << inna_dana << jeszcze_inna_dana;