I'd like to do something like this:

```
class A{
public:
    A(int i);

    static A* createWithSpecialCalculation(int a, int b, int c){
      // ...complex calculation here...
      return new A(result_of_calculation);
    }
};

class B:A{
public:
    float m_additionalMember;
};

```

now I want to be able to call

```
B* myB = B::createWithSpecialCalculation(1,2,3);

```

Is this possible somehow?
if so, how?