#include "pch.h"
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
//PODSTAWOWA KLASA OKRET
class Okret
{
protected:
string Nazwa;
int Wypornosc;
public:
Okret() : Nazwa("brak"), Wypornosc(0) {};
Okret(string nazwa, int wypornosc) : Nazwa(nazwa), Wypornosc(wypornosc) {};
string nazwa()
{
return Nazwa;
};
int wypornosc()
{
return Wypornosc;
};
};
//OKRET PODWODNY
class OkretPodwodny : public Okret
{
//nowe parametry klasy okret podwodny
int Wypornoscpodwodna;
int Torpedydziobowe;
int Torpedyrufowe;
int Glebokosczanurzenia;
public:
OkretPodwodny() : Okret("brak", 0), Wypornoscpodwodna(0), Torpedydziobowe(0), Torpedyrufowe(0), Glebokosczanurzenia(0) {};
OkretPodwodny(string nazwa, int wypornosc, int wypornoscpodwodna, int torpedydziobowe, int torpedyrufowe, int glebokosczanurzenia=0)
: Okret(nazwa, wypornosc), Wypornoscpodwodna(wypornoscpodwodna), Torpedydziobowe(torpedydziobowe), Torpedyrufowe(torpedyrufowe), Glebokosczanurzenia(glebokosczanurzenia) {};
int wypornoscpodwodna() //metoda wypornoscpodwodna zwraca wartosc Wypornoscpodwodna
{
return Wypornoscpodwodna;
}
int torpedydziobowe()
{
return Torpedydziobowe;
}
int torpedyrufowe()
{
return Torpedyrufowe;
}
int glebokosczanurzenia()
{
return Glebokosczanurzenia;
}
void Zanurz(int Zanurzenie);
};
//metoda zanurz
void OkretPodwodny::Zanurz(int Zanurzenie)
{
if (Glebokosczanurzenia == 0) cout << "okret jest wynurzony \n";
if ((Glebokosczanurzenia + Zanurzenie) < 0)
{
Glebokosczanurzenia = 0;
}
else
{
Glebokosczanurzenia = Glebokosczanurzenia + Zanurzenie;
}
}
int main()
{
OkretPodwodny op1("okret", 50, 30, 10, 10);
cout << "okret jest zanurzony na glebokosc" << op1.Zanurzenie() <<"m" << endl;
cout << "zanurzam okret o kolejne 15 m" << endl;
op1.Zanurz(15);
cout << "okret jest zanurzony na glebokosc" << op1.Zanurzenie() << "m" << endl;
}
Czym spowodowany jest error
Błąd C2039 „Zanurzenie”: Nie jest składową „OkretPodwodny”
skoro w klasie OkretPodwodny jest "void Zanurz(int Zanurzenie);