Eksperci miesiąca

1
grzegorz.tworek
Senior
miesiąc
31
łącznie
812
2
Bulax
Senior
miesiąc
21
łącznie
589
3
styrni
Top10
miesiąc
20
łącznie
4100
4
coltuszyk
Junior
miesiąc
19
łącznie
208
5
burzak
Guru
miesiąc
19
łącznie
1077

Z blogów MVP

Microsoft w Polsce

Statystyka

  • W tej chwili mamy:
    126 czytelników online
    58 603 zarejestrowanych
  • Do dziś zanotowaliśmy:
    45 991 021 odsłon
    18 227 odsłon / 24h
Microsoft Most Valuable Professional

Forum - Wątek

Idź do grupy:
Widok:
Autor

Wątek


kpyrdol
Gość

wypowiedzi: 16
od: 2010-01-20
deklaracja a definicja funkcji 2010-02-08 (Pn) 11:15

witam

chcialbym zrobic cos takieg

[Kod]
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:)

Zaloguj się, żeby odpowiedzieć

lobo521
Junior

wypowiedzi: 109
od: 2010-01-21

Odp: deklaracja a definicja funkcji 2010-02-08 (Pn) 11:24

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.


Edytowany 1 raz, ostatnio 2010-02-08 11:29 przez lobo521
Zaloguj się, żeby odpowiedzieć

jakubin
Ekspert CG

wypowiedzi: 159
od: 2005-05-04

Odp: deklaracja a definicja funkcji 2010-02-08 (Pn) 11:37

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):

[Kod]
class moja_klasa
{
private:
    int par;

public: 
    moja_klasa(int parametr1);

    void moja_funkcja(int par1, int par2);
};

Plik implementacji (moja_klasa.cpp):

[Kod]
#include "moja_klasa.h"

moja_klasa::moja_klasa(int parametr1)
{
   par = parametr1;
}

void moja_klasa::moja_funkcja(int par1,int par2)
{	
}

Zaloguj się, żeby odpowiedzieć

kpyrdol
Gość

wypowiedzi: 16
od: 2010-01-20


Odp: deklaracja a definicja funkcji 2010-02-08 (Pn) 13:45

chodzilo mi o c# w c++ wlasnie wiem jak to leci. Kod napisalem tak przykladowo wiec jest tylko obrazowy:)

 

dzieki wielkie.

Zaloguj się, żeby odpowiedzieć

somekind
Junior

wypowiedzi: 422
od: 2010-01-20



Odp: deklaracja a definicja funkcji 2010-02-09 (Wt) 00:45

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.

Zaloguj się, żeby odpowiedzieć