VAX Build: 1519
IDE: Visual Studio 2008 (VS9)
Hi,
Consider the following C++ code example below:
class Foo
{
public:
virtual void MyFunc( int val ) = 0;
}
class Bar : public Foo
{
public:
virtual void MyFunc( int val )
{
}
};
class FooBar : public Bar
{
virtual void MyFunc( int val )
{
}
};
If I do "Change Signature" on Foo::MyFunc(), it does not apply whatever changes I make to the derived versions of the virtual method. I think it should make these changes, ESPECIALLY in the case where you have a pure virtual involved (However it should recursively modify the derived versions of the virtual signature regardless of if it is pure virtual or not).
If you do a "Find References" on Foo::MyFunc(), it gives you the derived versions in the search results. So VAX obviously is capable of finding the derived virtual overrides.
It would make sense to have "Change Signature" also apply any changes I make to BASE AND DERIVED matching virtual function signatures. Note that this does not apply to non-virtual overrides.
Scenarios:
- If I "Change Signature" on Foo::MyFunc(), both Bar::MyFunc() and FooBar::MyFunc() are modified as well.
- If I "Change Signature" on Bar::MyFunc(), both Foo::MyFunc() and FooBar::MyFunc() are modified as well.