Jak wywołać metodę, która pobiera ciąg znaków?

0

#include "pch.h"
#include <iostream>
#include <cstdlib>
#include <string.h>
#include <conio.h>

using namespace std;

class Samochod                

private:
    int Pojemnosc;
    int Paliwo;

public:
    Samochod(int pojemnosc, int paliwo)         
        : Pojemnosc(pojemnosc), Paliwo(paliwo) {}     

    void WyswietlStan()                                 
    {
        printf("zbiornik paliwa wynosi : %d na %d litra \n", Paliwo, Pojemnosc);
    }

    int PojemnoscBaku()
    {
        return Pojemnosc;
    }

    int IloscPaliwa()
    {
        return Paliwo;
    }

    bool CzyLadowny()
    {
        return false;
    }

};

//SAMOCHOD MIEJSKI

class SamochodMiejski :public Samochod 
{

private:
    string Kolor;   

public:
    SamochodMiejski(int pojemnosc, int paliwo, string kolor) : Samochod(pojemnosc, paliwo) {}    

    const char* PobierzKolor()      
    {
        return Kolor.c_str();     
    }

    void WyswietlStan()            
    {
        Samochod::WyswietlStan();     
        printf("Kolor to: %s\n", PobierzKolor());   
    }
};

int main()
{

    cout << "SAMOCHOD MIEJSKI" << endl;
    SamochodMiejski sm(2000, 50, "zielony");
    sm.WyswietlStan();

}

Jak zrobić, by wywołać funkcję PobierzKolor() i ustawić kolor danego samochodu?
Program się kompiluje, jednak wynikiem jest
SAMOCHOD MIEJSKI
Zbiornik paliwa wynosi : 50 na 2000 litra
Kolor to:

0

Gdzie inicjalizujesz zmienną, którą potem zwracasz metodą PobierzKolor()?

Podpowiedź: Masz błąd w liście inicjalizacyjnej klasy pochodnej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0