C++ チュートリアル [ http://www.cplusplus.com/doc/tutorial/classes2/の「キーワード this」の下] を調べていますが、メンバー関数のパラメーターに「&」が含まれている理由について混乱しています。
コード:
#include "stdafx.h"
#include <iostream>
class CDummy {
public:
int isitme( CDummy& param ); // <-- Having trouble understanding this
};
int CDummy::isitme( CDummy& param ) // <-- Having trouble understanding this
{
if( ¶m == this)
return true;
else
return false;
}
int main ()
{
CDummy a;
CDummy *b = &a;
if ( b->isitme(a) )
std::cout<< "yes, &a is b";
return 0;
}
なぜ機能しint isitme( CDummy& param)
、機能しないのint isitme( CDummy param )
ですか? また、関数の実装ではif( ¶m == this )
、¶m
関数宣言がint isitme( CDummy param )
.