Login:
Hasło:
Hasła zabezpieczane SSL
Po zalogowaniu uzyskasz dostęp do:
CodeGuru.pl: Aktualności
CodeGuru.pl: Forum
CodeGuru.pl: Artykuły
witam
chcialbym zrobic cos takieg
class moja_klasa { int par; //deklaracja funkcji public moja_klasa(int parametr1); public moja_funkcja(int par1,int par2); //definicje funkcji public moja_klasa(int parametr1) { //cialo } public moja_funkcja(int par1,int par2) { //cialo }
cos takiego mi wywala błąd;/
może mi ktoś przypomniec jak można coś takiego zrobić aby najpierw w klasie mieć same deklaracje jakie są funkcje i z jakimi parametrami a potem dopiero uzupełnione funkcje?
z góry dzieki:)
Po pierwsze musisz jeszcze uzupełnić typ zwracany przez funkcję. Jeśli chodzi o C# to na bank się nie da w ten sposób. Najlepiej by było zrobić interfejs który implementuje twoja klasa.
Można użyć delegacji albo pól typu Action/Func. Powyższe wskazówki nie dotyczą konstruktora (nie da się zrobić). Tak w ogóle to kiepskie podejście. Interfejsy służą do tego żeby korzystać z polimorfizmu. Jeśli nie potrzebujesz tego szkoda czasu. Masz tylko bałagan przez to. Kiedyś było ok bo mogłeś sprawdzić w notatniku jaki interfejs ma klasa. Dzisiaj jest VS, intellisense, resharper i inne tego typu rzeczy, które są lepsze.
Chodzi o C# czy C++? Bo pomieszałeś składnie obu języków ;).
W C# nie ma oddzielnie deklaracji i definicji funkcji. W C++ owszem, ale wygląda to trochę inaczej:
Plik nagłówka (moja_klasa.h):
class moja_klasa { private: int par; public: moja_klasa(int parametr1); void moja_funkcja(int par1, int par2); };
Plik implementacji (moja_klasa.cpp):
#include "moja_klasa.h" moja_klasa::moja_klasa(int parametr1) { par = parametr1; } void moja_klasa::moja_funkcja(int par1,int par2) { }
chodzilo mi o c# w c++ wlasnie wiem jak to leci. Kod napisalem tak przykladowo wiec jest tylko obrazowy:)
dzieki wielkie.
Oddzielanie definicji od deklaracji to tylko niepotrzebne utrudnienie i źródło potencjalnych błędów. Jak to dobrze, że C# jest normalny i tego podziału nie ma.