Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem [C++] Uvolňovanie pamäte

No. Psal jsem to přímo z hlavy a chybička se vloudila.
Předchozí příklad vypíše 77 (tedy vždy lokální proměnnou ve třídě)
Zkoušel jsem to na Microsofťáckém překladači.

Globální proměnnou ve třídě je asi dobré vždy rozlišit jmenným rozsahem :: tyto dvě tečky.

Tady je úplný příklad na kterém jsem si to otestoval:

#include "stdafx.h"
#include <iostream>

int mojePremenna;

class Trieda
{
public:
	int mojePremenna;
        void vypisPremenne(); 
	Trieda() 
	{
		::mojePremenna = 4; 
           this->mojePremenna = 7;
	}
       

};

using std::cout;

void Trieda::vypisPremenne()
{
	cout << ::mojePremenna;  // vypise 4

cout << this->mojePremenna; // vypise 7
}


int _tmain(int argc, _TCHAR* argv[])
{
	
	
	Trieda *mojeTrida = new Trieda();
	
	mojeTrida->vypisPremenne();

	std::cin >> mojePremenna;  // pro pauznutí výstupu, tady naplňujeme globální proměnnou.

        delete mojeTrida;
	return 0;
}


A mm má pravdu v tom, že ve třídě je zbytečné psát ukazatel this (nemusí to být v tom kódu).

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny