Wpis z mikrobloga

MIreczki, co robie zle?

#cpp #programowanie



class
```**```
 Ssak
``````
{
``````
public:
``````
        Ssak();
``````
        ~Ssak();
``````
        
```**```
virtual
```**```
 
```**```
void
```**```
 Poruszaniesie() = 0; //to ma byc pure virtual func.
``````
        
``````
};
```**```
class
```**```
 Piesek: 
```**```
public
```**```
 Ssak
``````
{
``````
public:
``````
        Piesek();
``````
        ~Piesek();
``````
        
```**```
void
```**```
 bieganie(){Poruszaniesie();}
``````
        
``````
};
```**```
int
```**```
 main()
``````
{

Ssak p;

Piesek q;

}
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@erwit: Nie funkcja/metoda wirtualna wymusza stworzenie w klasach które ją dziedziczą takiej metody. To jest jakby definicja a ty w twojej klasie musisz zrobić implementacje
  • Odpowiedz
@erwit: Wszystkie interfejsy powinny mieć wirtualny destruktor - chyba, ƶe nigdy nie wykorzystasz ich jako interfejsów, ale w tym momencie bez sensu jest uƶywanie metod wirtualnych.
  • Odpowiedz
A jeszcze odnoszac sie do tego poprzedniego programu, masz pomysl dlaczego wywala: undefined reference to `Piesek::Piesek()' i do destruktora?

class Ssak


{


public:
  • Odpowiedz