Author |
Topic |
|
andre.horst
Tomato Guru
Germany
150 Posts |
Posted - Apr 29 2008 : 02:27:38 AM
|
VAX cannot identify overloaded operators or cast-operators, thus it cannot create a implementation/declaration or move the implementation to a source file. Would be nice to have If i copied () the declaration of pure virtual method like "virtual void f()=0;" to a implementation class header and use the "Create Implementation" function of vax i get the following:
void CSBSDataAccessLayer::f() /*=0 { }
and in the header the "=0" still remains. Would be nice if this feature works properly. By the way, i posted and read from others a "Create Implementation from Base" feature, where the pure virtual methods will be taken over into the sub-class...Still waiting for such a feature... |
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Apr 29 2008 : 09:19:57 AM
|
Create Implementation producing invalid code for a pure virtual function is a known problem:
case=6439
and it is on our list of things to fix. VA does not remove the "= 0", this is by design. Sometimes you want to have an implementation for a pure virtual function. I have done this myself, it is useful when this implementation is the default implementation for the function, which you then manually call if it is appropriate.
For overloaded operators, trigger the refactoring on the "operator" keyword. This works for me.
We are looking to add support for overloaded functions, but I am not sure when this will happen.
Creating bodies for virtual functions in the base class, this is something we are considering doing:
case=1505 |
zen is the art of being at one with the two'ness |
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Jan 27 2009 : 9:19:48 PM
|
case=6439 is fixed in build 1715 |
Whole Tomato Software, Inc. |
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Jan 24 2011 : 4:04:03 PM
|
case=1505 is implemented in build 1840 |
Whole Tomato Software, Inc. |
|
|
|
Topic |
|