Po co jest konstruktor klasy, skoro mamy zainicjalizowane zmienne k, x, w? To wygląda jak jakaś podwójna inicjalizacja.
Nawet jeśli jest podwójna, to sobie z tym radzimy. Mamy wyraźnie okreslone priorytety, i co zasłania co.
Już chyba widzę, jest on potrzebny, żeby później można było go użyć do stworzenia obiektu "it", bo "class kxw" samo w sobie nie przyjmuje żadnych argumentów.
To, o czym mówisz, to "niejawna konstrukcja", siłą rzeczy jest bez parametrów
Z wielu powodów konstrutor jest wazny, w prawie zawsze chodzi o zmuszenie do użycia "tak jak zaprojektowałem"
Istnienie choć jednego konstruktora (w tym również bezparametrowego) mocno zmienia sytuację
W C++ może być w sekcji publicznej (dość łatwe intelektualnie), protected (nie można obiektu powołać tak sobie z zewnątrz, autor sygnalizuje: ta klasa przeznaczona do dziedziczenia) czy private
Trochę się trzeba nakombinować w tym c++, żeby zwrócić zwykłą listę zmiennych.
w C++ nie za bardzo jest takie "cuś" jak lista zmiennych, to i zwrócić trudno. Mówisz w koncepcji Pythona prawdopdobnie
Tak, ale języki ściśle kompilowane właśnie tak mają, z tej inwestycji zwrotem jest bezpieczeństwo kompilacji, jak się skompilowało, to najczęściej ma sens, i złączenia nie pękną - (w Pythonie przy niespójności poleci wyjątek na wykonaniu)
Jest najzupełniej prawdą, że w C/C++ napisze się zawsze więcej linii niż w Pythonie, nie dziwi nic
A jak napiszę to jak poprzednio, z użyciem tej struktury, to będzie błąd w sztuce? — Tomasz_D dziś, 11:15
Struct i class w C++ są bardzo podobne, prawie tożsame. Klasa ma defaultowo private, struct public i to jedyna różnica (uwaga, nie przenoś tego na inne jezyki, np C#)
Nie powinieneś się domyślać (absolutnie totalnie nigdy), lecz sięgać po dokumentacje. — _13th_Dragon dziś, 02:34
+1
@Tomasz_D: naprawdę poczytaj coś solidnego a nie zgaduj.