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