Search⌘ K
AI Features

- Solution

Explore how to use inheritance in C++ by implementing base and derived classes with virtual and pure virtual methods. Understand method overriding and accessing derived class functions via base class pointers to manage sorting algorithms effectively.

We'll cover the following...

Solution #

C++ 17
#include <iostream>
class Sort{
public:
virtual void processData() final {
readData();
sortData();
writeData();
}
private:
virtual void readData(){}
virtual void sortData()= 0;
virtual void writeData(){}
};
class QuickSort: public Sort{
private:
void readData() override {
std::cout << "readData" << std::endl;
}
void sortData() override {
std::cout << "sortData" << std::endl;
}
void writeData() override {
std::cout << "writeData" << std::endl;
}
};
class BubbleSort: public Sort{
private:
void sortData() override {
std::cout << "sortData" << std::endl;
}
};
int main(){
std::cout << std::endl;
Sort* sort = new QuickSort;
sort->processData();
std::cout << std::endl;
}

Explanation #

...