, 우리는이 클래스가 :C++ 양방향 운영자가 가능합니까? 예를 들어
class my_class
{
public:
friend my_class operator* (const my_class&, int a);
friend my_class operator* (int a, my_class&);
};
my_class operator* (int a, my_class&)
{
// do my_class * a
}
my_class operator* (int a, my_class&)
{
// do a * my_class
}
는이 두 가지가해야 할 일을 한 운영자 *을 할 수 있습니까?
감사합니다.
두 번째 형식이'my_class'를 반환하면 안됩니까? –
첫 번째 함수는'my_class * a'를 수행 할 수 있지만 첫 번째 함수는 멤버 함수 인 경우에는 'my_class * my_class' 만 수행하고 그렇지 않으면 전역 연산자 함수에 두 개의 인수가 필요하기 때문에 컴파일러 오류가 발생합니다. – 0x499602D2
실제로 의도 한 의미는 무엇입니까? 곱셈, 역 참조? –