Dziedziczenie w klasach pochodnych

0

Witam, czemu tutaj wyskakuje błąd przy wyświetleniu skoro dziedziczone jest z klasy nadrzędnej z sekcji protected

  class plik
{
  public:

  protected:
  static const int w=5;

};

class bitmapa: public plik
{

};



int main()
{

bitmapa dwa;
cout<<dwa.w<<endl;

3

bo jest dalej w protected? :|

1

wg. tego "Sekcja protected klasy jest ściśle związana z dziedziczeniem - elementy i metody klasy, które się w niej znajdują, mogą być swobodnie używane w klasie dziedzicznej ale poza klasą dziedziczną i klasą bazową nie są widoczne." powinno być dostępne

1

No nie powinno być. Metoda main nie należy ani do klasy bazowej, ani do żadnej pochodnej.

4
michcio19923 napisał(a):

elementy i metody klasy, które się w niej znajdują, mogą być swobodnie używane w klasie dziedziczacej
Przeczytaj to i pomysl bo jest to prawda. Moga byc uzywane w klasie.

3

Nie, nie powinno - czytaj ze zrozumieniem.
Te Twoje cout << dwa.w << endl; jest poza klasą bazową i poza pochodną

//lol: 3 posty w przeciągu 1 min. :p

0

okey dzięki a czemu wyświetlenie w klasie jest niemożliwe

  class bitmapa: public plik
{
cout<<"aa"<<endl;
};
1

A to co to ma być? Ten kod musi być w jakieś metodzie.

1

Moze poczytaj najpierw co to tak naprawde jest klasa i jak sie z nia obchodzic. Pare przykladow tez nie zaszkodzi, potem sie bierz za pisanie.

0

chciałem po prostu w klasie wyświetlić z nadrzędnej jedną stałą

 
class plik
{
  public:

  protected:
  static const int w=5;

};

class bitmapa: public plik
{
 cout<<w<<endl;
};


0

Ale co to znaczy "wyświetlić w klasie"? o_O Klasa to jest pewna kategoria bytów/obiektów. Klasa jako taka jest PASYWNA. Możesz mieć w klasię metodę która coś robi, ale klasa sama w sobie nic nie robi.

1

A o metodach Ty słyszałeś? Jak niby ma działać ten Twój kod? Kompilator to nie jest kobieta, która wszystkiego się domyśli.

class klasa
{
   public:
       void wyswietl(); 
};

void klasa::wyswietl(){
     cout<<"napis"<<endl;
}
0

Okey do metod nie doszedłem jeszcze, dziękuję za pomoc

5
michcio19923 napisał(a):

Okey do metod nie doszedłem jeszcze, dziękuję za pomoc

Uczysz się zbyt chaotycznie. Zostaw klasy i obiekty, bo jeszcze strukturalnego programowania nie masz opanowanego.

7

lol
zajebiste podejście - "nie wiem co to metoda więc pouczę się dziedziczenia" :D

0

Nim zaczniesz kogoś oceniać spójrz na siebie i żeby wówczas ta ocena nie była gorsza w porównaniu do innych. Zajmij się sobą, swoimi sprawami, problemami.

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