• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Klasa w oddzielnym pliku - dziedziczenie konstruktora

Object Storage Arubacloud
0 głosów
1,094 wizyt
pytanie zadane 6 maja 2016 w C i C++ przez Przemek Gaduła (3,600 p.)
#ifndef klasaA_hpp
#define klasaA_hpp

class klasaA
{
      klasaA(int a, int b);
};

#endif

 

#include "klasaA.hpp"

klasaA::klasaA(int a, int b)
{

}
#ifndef klasaB_hpp
#define klasaB_hpp

#include "klasaA.hpp"

class klasaB:public klasaA
{
         klasaB(int a, int b):klasaA(a, b);
};

#endif
#include "klasaB.hpp"

klasaB::klasaB(int a, int b):KlasaA(a, b)
{

}

Jak poprawnie napisać klasę dziedziczącą w osobnym pliku (z konstruktorem)?

2 odpowiedzi

+2 głosów
odpowiedź 6 maja 2016 przez draghan VIP (106,230 p.)
wybrane 6 maja 2016 przez Przemek
 
Najlepsza

To, jakiego konstruktora klasy bazowej użyjesz, to jest już szczegół implementacyjny, więc nie piszesz tego w nagłówku. Deklaracja powinna wyglądać więc tak:

class klasaB:public klasaA
{
         klasaB(int a, int b);
};

Oczywiście, jeśli konstruktor klasy bazowej będzie prywatny, to nie uda Ci się nic stworzyć. ;)

+2 głosów
odpowiedź 6 maja 2016 przez Sebastian Fojcik Nałogowiec (43,020 p.)

Opisuję niżej dodatkowy przypadek z którym możesz się spotkać w przyszłości :-)

Musisz wywołać konstruktor klasy podstawowej na liście inicjalizacyjnej konstruktora w klasie pochodnej jeśli klasa podstawowa (A) nie posiada konstruktora domyślnego.

Kod do przeanalizowania:

#include <iostream>

using namespace std;

class A
{
public:
	A( int a )
	{
		cout << "Konstruktor A " << a << endl;
	}
};

class B : public A
{
public:
	B( int b )
		:A(50)
	{
		cout << "Konstruktor B " << b << endl;
	}
};

int main()
{
	B obj( 123 );

	return 0;
}

Pozdrawiam :-)

Podobne pytania

0 głosów
1 odpowiedź 211 wizyt
0 głosów
2 odpowiedzi 923 wizyt
0 głosów
1 odpowiedź 361 wizyt
pytanie zadane 22 grudnia 2019 w C i C++ przez Jacuchna0 Użytkownik (640 p.)

92,573 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...