Witam!
W jaki sposób dokonać inicjalizacji statycznego składnika klasy przed wywołaniem "najpierwszego" konstruktora?
Ponieważ jeden kod jest wart więcej niż tysiąc słów:
#include <iostream>
#ifndef wxString
#include <string>
#define wxString std::wstring
#endif
class Class_name {
/* std::cout << login_page; // crash'uje aplikację (jeśli member jest static). Jakiś sposób, by temu zapobiec?
Ja wiem DLACZGEO aplikacja się crashuje. W jaki sposób zdefiniować zmienną statyczną PRZED wywołaniem pierwszego konstruktora? */
static const wxString _string;
public:
Class_name() {
std::wcout << _string; /* Ta linia crash'uje aplikację (ponieważ stara się odczytać/zapisać z/do NULL pointer'a [lub z jakiegoś jeszcze innego powodu]).
Problem leży w tym, iż konstruktor ten wywoływany jest przed inicjalizacją zmiennej statycznej.
Jak można temu zaradzić? W jaki sposób zainicjalizować zmienną statyczną wcześniej?
*/
}
} Class_name; // konstruktor wywoływane PRZED poniższą definicją zmiennej statycznej.
const wxString Class_name::_string(L"abcdef");
Oraz, przy okazji, w jaki sposób poprawnie nazywa się tworzenie obiektu zaraz po definicji klasy ("class{} obiekt;") ? Podejrzewam, że "najpierwszejszy" nie należy do fachowej terminologii :]
Z góry bardzo dziękuję za odpowiedzi :)