29/08/2019, 12:26
QNetworkAccessManagermanager = new QNetworkAccessManager(this);
A *a = new A(this)
29/08/2019, 15:49
#include <stdint.h>
#include <iostream>
class B;
class A final
{
public:
A( B* b )
: b( b ){};
void print( ) const;
private:
B* b;
};
class B final
{
public:
B( )
: value( 0 )
, a( nullptr ){};
~B( )
{
if ( a )
delete a;
};
A*
get_a( )
{
if ( !a )
{
a = new A( this );
}
return a;
}
void
set_value( uint32_t new_value )
{
value = new_value;
}
uint32_t
get_value( ) const
{
return value;
}
private:
uint32_t value;
A* a;
};
void
A::print( ) const
{
std::cout << ( b ? b->get_value( ) : 0 ) << std::endl;
};
int
main( )
{
B b;
const A* a = b.get_a( );
a->print( );
b.set_value( 121 );
a->print( );
}
29/08/2019, 17:19
ZfreS ha scritto:Riprendo questo thread per un altro dubbio riguardante il puntatore this suscitato leggendo del codice sulla gestione network delle qt. Il pezzo di codice è questo:
- Codice:
QNetworkAccessManagermanager = new QNetworkAccessManager(this);
Non capisco quale sia il ruolo del this. In generale cosa significa l'espressione:dove A è una classe.
- Codice:
A *a = new A(this)
Potreste chiarirmi questo dubbio per favore?
30/08/2019, 11:28
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.
Powered by phpBB © phpBB Group - Privacy policy - Cookie privacy
phpBB Mobile / SEO by Artodia.