```
#include <iostream>
using namespace std;
class Machine {
public:
virtual void run() {}
class Parts {
public:
virtual int get_wheels() = 0;
virtual string get_fule_type() = 0;
};
};
class Car: public Machine {
public:
void run() {
cout << "The car is running." << endl;
}
class Parts: public Machine::Parts {
public:
int get_wheels() override {
cout << "A car has 4 wheels." << endl;
return 4;
}
string get_fule_type() override {
cout << "A car uses gasolinle for fuel." << endl;
return "gasoline";
}
};
};
int main() {
Machine* machine = new Car();
Machine::Parts* parts = new Car::Parts();
machine->run();
parts->get_wheels();
parts->get_fule_type();
return 0;
}
```