Untitled
unknown
plain_text
3 years ago
1.2 kB
17
Indexable
/*
Inheritance
// re usability
Car
benzCar
*/
#include <iostream>
class Car //base class / super class / parent class / master class
{
public:
Car(int milage = 0, const char* name = "NA")//
{
m_nMilage = milage;
std::size_t size = strlen(name) + 1;
m_szName = new char[size];
strcpy_s(m_szName, size, name);
std::cout << "Car" << std::endl;
}
~Car()
{
if (nullptr != m_szName)
{
delete[]m_szName;
m_szName = nullptr;
}
std::cout << "Car destructor" << std::endl;
}
private:
int m_nMilage;
char* m_szName;
};
class Benz : public Car //Derived class / sub class / child class / slave class
{
public:
Benz(const char* audio = "NA")//
{
std::size_t size = strlen(audio) + 1;
m_szAudioSystem = new char[size];
strcpy_s(m_szAudioSystem, size, audio);
std::cout << "Benz Car" << std::endl;
}
~Benz()
{
if (nullptr != m_szAudioSystem)
{
delete[]m_szAudioSystem;
m_szAudioSystem = nullptr;
}
std::cout << "Benz Car destructor" << std::endl;
}
private:
char* m_szAudioSystem;
};
auto main()->int
{
//Car* car = new Car(20, "ABC");
Benz* benz = new Benz("JBL");
if (nullptr != benz)
{
delete benz;
benz = nullptr;
}
}Editor is loading...