Habt ihr irgendwelche Hinweise, was mit meinem Code nicht stimmt? Ich habe es so einfach wie möglich gemacht und versucht, über Google zu suchen, habe aber immer noch keine Ahnung."Ausdruck muss Klassentyp haben" beim Aufrufen der einfachen geerbten Methode
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class Animal {
public:
Animal();
Animal(string _sound) :
sound(_sound) {}
virtual ~Animal();
void give_sound() {
cout << sound << " ";
}
protected:
string sound;
};
class Dog : protected Animal {
public:
Dog(): Animal("woof") {}
};
int main() {
Dog doggy();
doggy.give_sound(); // expression must have class type
return 0;
}
Verwenden Sie die neue, universelle Initialisierungssyntax: 'Dog doggy {};' –
Alles behoben [hier] (http: //coliru.stacked-crooked .com/a/0be113f40bce9bd6). –