Extract superclass
The Extract Superclass refactoring enables extracting certain members of a class into a superclass. In CLion, this refactoring is available for C++, Objective-C/C++, Python and JavaScript code.
Examples
Before | After |
---|---|
|
|
Extract a superclass
Select the desired class in one of the views, or just open it in the editor.
From the main menu or from the context menu, choose Refactor | Extract | Superclass.
In the Extract Superclass dialog that appears, specify the following information:
Name of the new superclass.
Members to be included in the superclass
Proceed with the refactoring.
Extracting the class dependent members
Let's consider the following sample of code:
int d1;
class XClass {
static const int d2 = 13;
int exRes = d2 * d1;
};
As you can see, there is a dependency between d1
and exRes
. If you apply Extract Superclass refactoring to the above class and try to select exRes
to be moved, CLion highlights the d2
variable with blue:

Trying to proceed with extract, you will get the following warning message:

Choose Continue to ignore the problem and proceed with refactoring, or Cancel to return back and resolve it. Also you can observe the conflict in Find Tool Window.