Hallo Leute,
habe vor einigen Tagen wieder mit C/C++ angefangen. Bin derzeit biem Kapitel Klassen, genauer beim Überladen von Methoden. Ich habe alles genau so befolgt wie es im Buch stand und den Abschnitt 5 mal gelesen, finde den Fehler aber trotzdem nicht. Wäre schön wenn mal jemand über meinen Code schaut und mir zeigt was ich falsch gemacht habe.
Becher.h
Code:
#pragma once
#include <string>
class Becher
{
public:
std::string inhalt;
double fuellmenge;
int fassungsvermoegen;
Becher(std::string in, double fuell, int fass);
void ausgabe();
bool reichtKapazitaet(int ml);
};
Becher.cpp
Code:
#include "Becher.h"
#include <string>
#include <iostream>
Becher::Becher(std::string in, double fuell, int fass)
: inhalt(in), fuellmenge(fuell), fassungsvermoegen (fass)
{
}
void Becher::ausgabe() {
std::cout << "Der Becher ist mit " << this->inhalt << " gefüllt.";
}
bool Becher::reichtKapazitaet(int ml) {
double platz = fassungsvermoegen-(fassungsvermoegen/100*fuellmenge);
return (platz >= ml);
}
bool Becher::reichtKapazitaet(Becher* b) {
if(inhalt != b->inhalt)
return (false);
return(reichtKapazitaet(
static_cast<int>(b->fassungsvermoegen/100.0F*
b->fuellmenge)));
}
Class.cpp
Code:
#include "Becher.h"
#include <string>
void main () {
Becher b("Wasser",50,500);
b.ausgabe();
}