It seems to me that your parsing is wrong.
Example 1:
class CDataTestReparsing : CObject
{
public:
CDataTestReparsing();
~CDataTestReparsing();
protected:
void testMember2();
void testMember1();
};
Result:
CDataTestReparsing::CDataTestReparsing()
{
} // public
CDataTestReparsing::~CDataTestReparsing()
{
} // ~CDataTestReparsing
void CDataTestReparsing::testMember2()
{
} // protected
void CDataTestReparsing::testMember1()
{
} // testMember1
Example 2:
class CDataTestReparsing : CObject
{
public:
CDataTestReparsing();
~CDataTestReparsing();
protected:
void testMember2();
void testMember1();
};
Result:
CDataTestReparsing::CDataTestReparsing()
{
} // CDataTestReparsing
CDataTestReparsing::~CDataTestReparsing()
{
} // ~CDataTestReparsing
void CDataTestReparsing::testMember2()
{
} // void
void CDataTestReparsing::testMember1()
{
} // void
----------------------
If you use "Refactor->Create Implementation" on a single method then the created method is selected so you can cut+paste to a different location. That's fine.
After finishing the bulk "Refactor->Create Implementation" you are back from where you started. If you switch to the implementation file only the last created method is selected. That's not what I expected.