V C++11, je mozne pouzit novu syntax inicializatorov
#include <ios>
#include <iostream>
using namespace std;
class mojaTrieda {
public:
void a() {
cout << "b=" << b << endl;
}
private:
int b{0}; // Nova syntax incializatorov v C++11, volany je prislusny konstruktor triedy
};
int main(int argc,char** argv)
{
mojaTrieda t;
t.a();
return 0;
}
Na margo kodu -> a():b(0) - inicializatory clenov tried je mozne uvadzat len v konstruktoroch.
Spat k otazke> pre tento pripad a primitivny typ je to ok a premenu b mozme naplnit. V pripade ze by premenna b bola trieda bez def. ctor, museli by sme pouzit syntax inicializacie z prvej variant napr. mojaTrieda():A(10) .