Powiel możliwe:
Why is there no call to the constructor?Jakie są różnice między testem t; i przetestuj t() ;? Jeśli test jest klasa
Używam Visual Studio 2012, załóżmy, że test jest klasą
class Test
{
};
Kiedy tworzę nową instancję testu, jaka jest różnica dwóch następujących sposobów?
sposób 1
Test t;
sposób 2
Test t();
mam to pytanie w poniższym kodzie, pierwotnie, zdefiniowałem instancji w drodze 2, mam tylko jeden błąd, ponieważ B nie dostarcza domyślnego konstruktora, ale kiedy zdefiniuję go w sposób 1, dostaję dodatkowy błąd.
class B
{
B(int i){}
};
class A
{
A(){}
B b;
};
int main(void)
{
A a(); // define object a in way 2
getchar() ;
return 0 ;
}
gdybym zdefiniować w sposób 1
A a;
będzie Mam inny błąd powiedział
error C2248: 'A :: A': nie ma dostępu do prywatnych członka zadeklarowana w klasie "A"
Sądzę, że muszą istnieć pewne różnice między dwoma sposobami.
+1 za zdjęcie :-) –
cóż, co za głupie pytanie, jestem pewien, że wiem o tym wcześniej, ale ... dzisiaj nie jest mój dzień :( – zdd
@zdd to się zdarza –