mirror of
https://github.com/kamranahmedse/developer-roadmap.git
synced 2025-08-28 03:29:48 +02:00
Fix code style (#4356)
This commit is contained in:
committed by
GitHub
parent
ce41b3a955
commit
1ec6005fe1
@@ -7,39 +7,37 @@ To resolve this ambiguity, you can use virtual inheritance. A virtual base class
|
||||
*Example:*
|
||||
|
||||
```cpp
|
||||
#include<iostream>
|
||||
using namespace std;
|
||||
#include <iostream>
|
||||
|
||||
class Base {
|
||||
public:
|
||||
void print() {
|
||||
cout << "Base class" << endl;
|
||||
std::cout << "Base class" << std::endl;
|
||||
}
|
||||
};
|
||||
|
||||
class Derived1 : virtual public Base {
|
||||
public:
|
||||
void derived1Print() {
|
||||
cout << "Derived1 class" << endl;
|
||||
std::cout << "Derived1 class" << std::endl;
|
||||
}
|
||||
};
|
||||
|
||||
class Derived2 : virtual public Base {
|
||||
public:
|
||||
void derived2Print() {
|
||||
cout << "Derived2 class" << endl;
|
||||
std::cout << "Derived2 class" << std::endl;
|
||||
}
|
||||
};
|
||||
|
||||
class Derived3 : public Derived1, public Derived2 {
|
||||
public:
|
||||
void derived3Print() {
|
||||
cout << "Derived3 class" << endl;
|
||||
std::cout << "Derived3 class" << std::endl;
|
||||
}
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
int main() {
|
||||
Derived3 d3;
|
||||
d3.print(); // Now, there is no ambiguity in calling the base class function
|
||||
d3.derived1Print();
|
||||
@@ -50,4 +48,4 @@ int main()
|
||||
}
|
||||
```
|
||||
|
||||
In the code above, `Derived1` and `Derived2` are derived from the `Base` class using virtual inheritance. So, when we create an object of `Derived3` and call the `print()` function from the `Base` class, there is no ambiguity, and the code executes without any issues.
|
||||
In the code above, `Derived1` and `Derived2` are derived from the `Base` class using virtual inheritance. So, when we create an object of `Derived3` and call the `print()` function from the `Base` class, there is no ambiguity, and the code executes without any issues.
|
||||
|
Reference in New Issue
Block a user