Simply, I need to do as the title says: Call a child static method from parent. The problem is that I don't know the child class name in the parent as there could be multiple children. The static method needs to stay static. For example:

```
class A{ // parent class
public:
 void process(){
  getData(); //  <-- Problem
 }
}

class B: public A{ // child class
 static int getData();
}

void main(){
 B b;
 b.process();
}

```

One solution that comes to mind is to have a virtual method that calls the static method. This would not be very nice and it would mean I would have to implement the method for every child I have:

```
class A{ // parent class
 virtual int getDataFromStaticMethod() = 0;
public:
 void process(){
  getData(); //  <-- Problem
 }
}

class B: public A{ // child class
 static int getData();
 virtual int getDataFromStaticMethod(){
  return B::getData();
 }
}

void main(){
 B b;
 b.process();
}

```

But I really wish it was possible to implement a pure virtual method with a static method:

```
class A{ // parent class
 virtual int getData() = 0;
public:
 void process(){
  getData(); //  <-- Problem
 }
}

class B: public A{ // child class
 static int getData();
}

void main(){
 B b;
 b.process();
}

```

Any suggestions?

Thanks!