Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z dziedziczeniem - expected class-name...

Ostatnio zmodyfikowano 2017-04-20 20:18
Autor Wiadomość
Lich555
Temat założony przez niniejszego użytkownika
Problem z dziedziczeniem - expected class-name...
» 2017-04-20 19:35:18
Witam.
Mam klasę bazową Animal i klasę pochodną Mammal. W tej drugiej wyskakuje błąd
"expected class-name before '{' token"
W pliku Animal.h mam zainkludowany Mammal.h, ale nie na odwrót (co chyba z resztą nie jest konieczne, w każdym razie tak też próbowałem, a problem dalej był)
Dodam, że klasę Animal.h zdefiniowałem w całości w headerze. Uznałem, że jest ona za krótka i nie ma po co do niej robić .cpp
Na ten czas klasa Mammal też ma tylko plik .h. Może to jest problemem, chociaż wątpię bo jeszcze nie zdążyłem nic zdefiniować i problem już się pojawił
Animal.h
C/C++
#ifndef ANIMAL_H
#define ANIMAL_H

#include <iostream>
#include <string>
#include "Mammal.h"

class Animal
{
protected:
    int age;
    float weight, xsize;
    std::string name;
   
public:
    Animal() { age = 0; }
    virtual ~Animal() { std::cout << "Animal's dectructor\n"; }
   
    virtual void breath() { std::cout << "Animal's breathing\n"; }
    virtual void movee() { std::cout << "Animal's moving\n"; }
};

#endif // ANIMAL_H

Mammal.h
C/C++
#ifndef MAMMAL_H
#define MAMMAL_H

#include <iostream>
#include <string>

class Mammal
    : public Animal
{
public:
    Mammal() { }
    virtual ~Mammal() { }
protected:
private:
};

#endif // MAMMAL_H
P-160304
michal11
» 2017-04-20 19:36:27
wywal
#include "Mammal.h"
 z Animal.h a w Mammal.h dodaj
#include "Animal.h"
P-160306
Lich555
Temat założony przez niniejszego użytkownika
» 2017-04-20 19:50:41
A jak mam main to w nim muszę deklarować bazową klasę, czy w bazowej klasie maina? Zawsze do tej pory myślałem, że to w tym "wyższym" pliku deklaruje się ten "mniejszy"...
P-160307
karambaHZP
» 2017-04-20 20:14:28
Klasa Mammal ma znać klasę Animal, czy odwrotnie?
P-160308
Lich555
Temat założony przez niniejszego użytkownika
» 2017-04-20 20:18:51
Aha dobra, już łapię, dzięki ;)
P-160309
« 1 »
  Strona 1 z 1