Implement functions
If a class has a base class with pure virtual functions, it can't be instantiated unless it implements those functions. CLion creates stubs of the implemented functions, with the default return values for the primitive types, and null values for the objects.
From the main menu, select Code | Implement functions or press Ctrl0I. You can also right-click anywhere in the class file, then click Generate AltInsert, and select Implement functions.
In the dialog that opens, select the functions to implement (hold the Shift or Ctrl key to perform a multi-selection). The list does not include the functions that are already implemented or cannot be accessed from the current class.
The code template used for implementing functions (Implemented function body) accepts predefined template variables from the File Header include template (such as ${USER}
, ${DATE}
, and so on)
For example, consider the following file template:
#if ($DEFAULT_RETURN_VALUE == "result")
$RETURN_TYPE result;
return result;#elseif ($RETURN_TYPE != "void")
return $DEFAULT_RETURN_VALUE;#end
This template expands into the following code:
int Calendar::getMonth() {
return 0;/// TODO (wombat, 1/22/2015):To change the body of an implemented function, use File | Settings - Editor - File and Code Templates.
}
void Calendar::setMonth(int month) {
/// TODO (wombat, 1/22/2015):To change the body of an implemented function, use File | Settings - Editor - File and Code Templates.
}
Thanks for your feedback!