Search⌘ K

- Examples

Explore C++ inheritance examples demonstrating overriding virtual methods, using the final specifier to restrict overrides, and how access rights affect class behavior. Understand common compiler errors and see how pointers to base classes can access derived class methods. Gain practical knowledge to handle inheritance and method overriding confidently.

Example 1: Override final #

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

Explanation #

  • We have implemented two classes named Sort and QuickSort.

  • We have created three private virtual methods and a public virtual method processData in the Sort class which calls the three private methods. ...