Fix code style (#4356)

pull/4402/head
Mikhail Ostashchenko 1 year ago committed by GitHub
parent ce41b3a955
commit 1ec6005fe1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 16
      src/data/roadmaps/cpp/content/107-structures-and-classes/102-multiple-inheritance/100-diamond-inheritance.md

@ -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.

Loading…
Cancel
Save