• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Ocena kodu? C++?

Object Storage Arubacloud
0 głosów
138 wizyt
pytanie zadane 28 września 2019 w Offtop przez niezalogowany
zamknięte 13 listopada 2019

Od jakiegoś czasu (długiego) próbuje napisać prosty kod obiektowy tyko ładnie poukładany (pliki, katalogi, itd).

Niestety z marnym skutkiem. Ale to już był szczyt. Chciałem użyć using cin=std::cin, ale kompilator zarządzał obiektu (ok już miej więcej kumam). Więc się zbuntowałem postanowiłem że nie dostanie żadnego obiektu (tzn. class, struct)

No i powstał projekt na namespace. http://wklejto.pl/768110. Co myślicie. Bo umie na kompilatorze ładnie wygląda jak się pozwija, i się rozwija pojedynczo. Więcej nie dało rady bo coś automatyczne formatowanie siadło i zaczął mi zjadać namespace, i obiekty namespace

Edit :: Jak by ktoś znał przyczynę tego zjadania to był bym wdzięczny C::B kompilator.

komentarz zamknięcia: rozwiązane
komentarz 28 września 2019 przez tkz Nałogowiec (42,000 p.)

W sumie to z obiektowym nie ma nic wspólnego. 

1. Dlaczego po Polsku?

2. Mało znaczące nazwy. 

3. To nie błąd, ale moim zdaniem ładniej wygląda using niż define.

4. Nie widzę sensu używać przestrzeni nazw by później z niej wychodzić używając using namespace x. Skoro masz już przestrzeń(szczególnie gdy są w niej nazwy, które nic nie mówią), która tłumaczy co nieco. Co Ci mówi nazwa "h"?

Całego kodu nie sprawdzam bo jest go sporo. 

 

Błędy z g++. 

main.cpp:65:8: error: no previous declaration for 'double danepodstawowe::ciezar_plyty_stropowej()' [-Werror=missing-declarations]

 double ciezar_plyty_stropowej()

        ^~~~~~~~~~~~~~~~~~~~~~

main.cpp:92:8: error: no previous declaration for 'double odzialywania::ciezarBelki()' [-Werror=missing-declarations]

 double ciezarBelki()

        ^~~~~~~~~~~

main.cpp:97:8: error: no previous declaration for 'double odzialywania::G()' [-Werror=missing-declarations]

 double G()

        ^

main.cpp:104:8: error: no previous declaration for 'double odzialywania::Q()' [-Werror=missing-declarations]

 double Q()

        ^

main.cpp:119:8: error: no previous declaration for 'double kombinacjeOddzialywan::K1()' [-Werror=missing-declarations]

 double K1()

        ^~

main.cpp:127:1: error: no previous declaration for 'int momentZginajacy::M()' [-Werror=missing-declarations]

 M()

 ^

main.cpp:137:1: error: no previous declaration for 'int silaPoprzeczna::V()' [-Werror=missing-declarations]

 V()

 ^

main.cpp:157:8: error: no previous declaration for 'double Stal::fy_()' [-Werror=missing-declarations]

 double fy_()

        ^~~

main.cpp:179:8: error: no previous declaration for 'double klasfikacjaPrzekroju::polka::c()' [-Werror=missing-declarations]

 double c()

        ^

main.cpp:183:8: error: no previous declaration for 'double klasfikacjaPrzekroju::polka::c_t()' [-Werror=missing-declarations]

 double c_t()

        ^~~

main.cpp:191:8: error: no previous declaration for 'double klasfikacjaPrzekroju::srodnik::c()' [-Werror=missing-declarations]

 double c()

        ^

main.cpp:195:8: error: no previous declaration for 'double klasfikacjaPrzekroju::srodnik::c_t()' [-Werror=missing-declarations]

 double c_t()

        ^~~

main.cpp:202:8: error: no previous declaration for 'double klasfikacjaPrzekroju::eps()' [-Werror=missing-declarations]

 double eps()

        ^~~

main.cpp:206:13: error: no previous declaration for 'std::__cxx11::string klasfikacjaPrzekroju::klasaPrzekroju()' [-Werror=missing-declarations]

 std::string klasaPrzekroju()

             ^~~~~~~~~~~~~~

main.cpp:230:8: error: no previous declaration for 'double NosnoscNaZginanie::MplRd()' [-Werror=missing-declarations]

 double MplRd()

        ^~~~~

main.cpp:235:13: error: no previous declaration for 'std::__cxx11::string NosnoscNaZginanie::Check()' [-Werror=missing-declarations]

 std::string Check()

             ^~~~~

main.cpp:272:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::zg()' [-Werror=missing-declarations]

 double zg()

        ^~

main.cpp:276:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::zgC2()' [-Werror=missing-declarations]

 double zgC2()

        ^~~~

main.cpp:280:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::qrt_M_PI()' [-Werror=missing-declarations]

 double qrt_M_PI()

        ^~~~~~~~

main.cpp:284:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::EIz()' [-Werror=missing-declarations]

 double EIz()

        ^~~

main.cpp:288:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::qrt_kL()' [-Werror=missing-declarations]

 double qrt_kL()

        ^~~~~~

main.cpp:292:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::qrt_k_div_kw()' [-Werror=missing-declarations]

 double qrt_k_div_kw()

        ^~~~~~~~~~~~

main.cpp:296:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::Iw_div_Iz()' [-Werror=missing-declarations]

 double Iw_div_Iz()

        ^~~~~~~~~

main.cpp:300:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::PI2_E_Iz()' [-Werror=missing-declarations]

 double PI2_E_Iz()

        ^~~~~~~~

main.cpp:304:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::GIt()' [-Werror=missing-declarations]

 double GIt()

        ^~~

main.cpp:308:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::kL2_G_It()' [-Werror=missing-declarations]

 double kL2_G_It()

        ^~~~~~~~

main.cpp:315:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::Mcr0_n_s::Mcr0()' [-Werror=missing-declarations]

 double Mcr0()

        ^~~~

main.cpp:323:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::McrFun::Mcr_1()' [-Werror=missing-declarations]

 double Mcr_1()

        ^~~~~

main.cpp:327:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::McrFun::Mcr_2_1()' [-Werror=missing-declarations]

 double Mcr_2_1()

        ^~~~~~~

main.cpp:331:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::McrFun::Mcr_2_2()' [-Werror=missing-declarations]

 double Mcr_2_2()

        ^~~~~~~

main.cpp:335:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::McrFun::Mcr_2_3()' [-Werror=missing-declarations]

 double Mcr_2_3()

        ^~~~~~~

main.cpp:339:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::McrFun::Mcr_3()' [-Werror=missing-declarations]

 double Mcr_3()

        ^~~~~

main.cpp:344:1: error: no previous declaration for 'int zwichrzenie::Mcr_n_s::McrFun::Mcr_F()' [-Werror=missing-declarations]

 Mcr_F()

 ^~~~~

main.cpp:356:8: error: no previous declaration for 'double zwichrzenie::Mcr_n_s::Mcr()' [-Werror=missing-declarations]

 double Mcr()

        ^~~

main.cpp:369:8: error: no previous declaration for 'double zwichrzenie::smuklosc_wzgledna::lambda_WL_T()' [-Werror=missing-declarations]

 double lambda_WL_T()

        ^~~~~~~~~~~

main.cpp:375:13: error: no previous declaration for 'std::__cxx11::string zwichrzenie::smuklosc_wzgledna::Check()' [-Werror=missing-declarations]

 std::string Check()

             ^~~~~

main.cpp:403:6: error: no previous declaration for 'char zwichrzenie::parametr_inperfekcji::dwuteowniki_walcowane::typ_abcd()' [-Werror=missing-declarations]

 char typ_abcd()

      ^~~~~~~~

main.cpp:410:8: error: no previous declaration for 'double zwichrzenie::parametr_inperfekcji::alfa_LT()' [-Werror=missing-declarations]

 double alfa_LT()

        ^~~~~~~

main.cpp:433:8: error: no previous declaration for 'double zwichrzenie::elementyBelkowe_ksi_LT::elementyBelkowe_fi_LT::minus_l_LT_l_LT0()' [-Werror=missing-declarations]

 double minus_l_LT_l_LT0()

        ^~~~~~~~~~~~~~~~

main.cpp:437:8: error: no previous declaration for 'double zwichrzenie::elementyBelkowe_ksi_LT::elementyBelkowe_fi_LT::qrt_l_LT()' [-Werror=missing-declarations]

 double qrt_l_LT()

        ^~~~~~~~

main.cpp:444:8: error: no previous declaration for 'double zwichrzenie::elementyBelkowe_ksi_LT::elementyBelkowe_fi_LT::beta_qrt_l_LT()' [-Werror=missing-declarations]

 double beta_qrt_l_LT()

        ^~~~~~~~~~~~~

main.cpp:449:8: error: no previous declaration for 'double zwichrzenie::elementyBelkowe_ksi_LT::elementyBelkowe_fi_LT::fi_lt()' [-Werror=missing-declarations]

 double fi_lt()

        ^~~~~

main.cpp:458:8: error: no previous declaration for 'double zwichrzenie::elementyBelkowe_ksi_LT::qrt_fi_lt()' [-Werror=missing-declarations]

 double qrt_fi_lt()

        ^~~~~~~~~

main.cpp:462:8: error: no previous declaration for 'double zwichrzenie::elementyBelkowe_ksi_LT::ksi_LT()' [-Werror=missing-declarations]

 double ksi_LT()

        ^~~~~~

main.cpp:482:8: error: no previous declaration for 'double zwichrzenie::NosnoscNaZwichrzenie::MbRd()' [-Werror=missing-declarations]

 double MbRd()

        ^~~~

main.cpp:486:13: error: no previous declaration for 'std::__cxx11::string zwichrzenie::NosnoscNaZwichrzenie::Check()' [-Werror=missing-declarations]

 std::string Check()

             ^~~~~

cc1plus.exe: all warnings being treated as errors

komentarz 28 września 2019 przez niezalogowany
No i nie miało być nic wspólnego z obiektowym. Miałem machnąć proceduralnie, ale natknąłem się na temat namespace, więc postanowiłem, poćwiczyć. Samo namespace w obiektówce myślę że się bardzo przydaje tylko dla innych rzeczy. (ale na razie mam obiektowstręt pewnie zaraz mi przejdzie)

1) Bo to było pisane dla siebie. Ale podobały mi się te kopki (o), więc pomyślałem że się pochwalę. (no i zastanawiało mnie, czy tak duża liczba namespace powoduje, że nie da się formatować kodu)

2) To raczej budowlaniec by ogarnął, ale i tak nie do końca

3) jak w pierwszym fajnie wypunktowane (ale to rzecz subiektywana)

No unie nie było żadnych błędów. A namespace wyciągam to co potrzebuję, bo jak jest bardzo rozbudowany wzór to ciężko się połapać przy długiej nazwie. Trzeba by było dla każdej operacji + - * ... tworzyć funkcję najlepiej szablonową, ale to by trzeba było zrobić odrębny plik itd...
komentarz 28 września 2019 przez tkz Nałogowiec (42,000 p.)
Myślałem o użyciu namespaców jako zamiennika.

1. Nadal uważam, że to bez sensu.

2. Piszesz kod dla budowlańców? Bez domenowej wiedzy nikt Ci tak nie powie co sama zmienna "h" mówi. Więc to błąd. Nawet z wiedzą z tego zakresu, później, poza namespacem to śmieciowa nazwa.

Lenistwo nie usprawiedliwia brzydkiego i nieczytelnego kodu. Jak nie możesz się rozczytać w kodzie, to albo formatowanie leży, albo nazwy.
komentarz 28 września 2019 przez niezalogowany
ok myślałem że to fajny pomysł na przyswojenie namespace, ale ok nie było tematu.
komentarz 28 września 2019 przez tkz Nałogowiec (42,000 p.)
Sam sposób spoko, chyba nie da się lepiej czegoś utrwalić niż tego użyć. Mówię o samym kodzie.
komentarz 29 września 2019 przez niezalogowany
No w sumie z konstruktywną krytykę powinno dziękować się bardziej ni za pochwały. Bo jest szansa na poprawę błędów. A swoją drogą jestem zdziwiony że jakieś błędy i tyle worrnigów.
komentarz 29 września 2019 przez tkz Nałogowiec (42,000 p.)
Zauważ, że wszystkie (chyba) to ten sam [-Werror=missing-declarations].

Podobne pytania

0 głosów
1 odpowiedź 197 wizyt
0 głosów
1 odpowiedź 110 wizyt
pytanie zadane 16 marca 2019 w C i C++ przez Michał_Warmuz Mądrala (5,830 p.)
0 głosów
1 odpowiedź 167 wizyt
pytanie zadane 25 kwietnia 2017 w C i C++ przez Daniel Janus Nowicjusz (150 p.)

92,563 zapytań

141,415 odpowiedzi

319,593 komentarzy

61,948 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...