Hello, anyone can explain to me please why my derived class constructor is calling base class constructor aswell? c++
Code
#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
static int count = 0;
// base class
class Pardevejs {
protected:
char name[20];
char surname[20];
int age;
private:
public:
float hourlyWage;
float hoursPerMonth;
void setHourlyWage(float wage);
float getHourlyWage();
void setHoursPerMonth(float hours);
int getHoursPerMonth();
float sallary();
// void setColor(char autoColor[]);
void setName(char sellersName[]);
char* getName();
void setSurname(char sellersSurname[]);
char*getSurname();
void setAge(int sellersAge);
int getAge();
void printDetails();
Pardevejs() {
count++;
setName("Janis");
setSurname("Ozols");
setAge(21);
setHourlyWage(2.65);
setHoursPerMonth(150);
printDetails();
}
Pardevejs(char sellersName[], char sellersSurname[], int age,
float hourlyWage, int hoursPerMonth) {
count++;
setName(sellersName);
setSurname(sellersSurname);
setAge(age);
setHourlyWage(hourlyWage);
setHoursPerMonth(hoursPerMonth);
printDetails();
}
~Pardevejs() {
cout << endl << count << ". objekts tiek iznicinats" << endl;
getch();
}
// set un get metodes private and protected laukiem
};
void Pardevejs::setName(char sellersName[]) {
strcpy(name, sellersName);
}
char* Pardevejs::getName() {
return name;
}
void Pardevejs::setSurname(char sellersSurname[]) {
strcpy(surname, sellersSurname);
}
char* Pardevejs::getSurname() {
return surname;
}
void Pardevejs::setAge(int sellersAge) {
age = sellersAge;
}
int Pardevejs::getAge() {
return age;
}
void Pardevejs::setHourlyWage(float wage) {
hourlyWage = wage;
}
float Pardevejs::getHourlyWage() {
return hourlyWage;
}
void Pardevejs::setHoursPerMonth(float hours) {
hoursPerMonth = hours;
}
int Pardevejs::getHoursPerMonth() {
return hoursPerMonth;
}
float Pardevejs::sallary() {
float sallary;
sallary = hoursPerMonth * hourlyWage;
return sallary;
}
void Pardevejs::printDetails() {
cout << count << ". darbinieka informacija:" << endl;
cout << "Darbinieka informacija" << endl << endl;
cout << "Pardeveja vards: " << name << endl;
cout << "Pardeveja Uzvards: " << surname << endl;
cout << "Pardeveja vecums: " << age << endl;
cout << endl << "Algu informacija" << endl << endl;
cout << "Nostradatas stundas: " << hoursPerMonth << endl;
cout << "Stundas Samaksa: " << hourlyWage << endl;
cout << "Alga: " << sallary() << " EUR";
cout << endl << "----------------------------------------" << endl;
}
/*
Derived class
*/
class Partikas_Pardevejs : public Pardevejs {
private:
public:
Partikas_Pardevejs() {
count++;
setName("Rainis");
setSurname("Mulniks");
setAge(45);
setHourlyWage(2.2);
setHoursPerMonth(140);
printDetails();
}
};
int _tmain(int argc, _TCHAR* argv[]) {
Partikas_Pardevejs a;
getch();
return 0;
}