Untitled
unknown
plain_text
a year ago
1.2 kB
4
Indexable
Never
/* 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; } }