안녕하세요 저는 연산자 오버로딩 및 친구 기능에 대해 배우는 중입니다.여러 파일에 대한 친구 기능
내가 < < 기능 .H 파일 내 클래스의 친구로하지만, 연산자를 선언 한나는 여전히 캔트 액세스
내 코드가 같이있는 .cpp 파일에 함수 정의에서 개인 멤버 변수 다음 :
Test.h
class Test
{
private:
int size;
public:
friend ostream& operator<< (ostream &out, Test& test);
};
에게
#include "Test.h"
#include <iostream>
using namespace std;
ostream& operator<< (ostream& out, Test& test)
{
out << test.size; //member size is inaccessible!
}
012 Test.cpp에를
이미 오퍼레이터를 만들었지 만 분명히 크기에 액세스 할 수 없습니다. < <은 내 클래스의 친구입니다. 나는 조금 봤 거든 아무도 그래서 아무도 나를 도울 수있는 것을 발견하지 못했습니까? 감사.
참고 : 클래스 정의를 .cpp 파일로 이동하면 모든 사람이 작동하므로 내 문제가 여러 파일과 관련되어 있다고 가정합니다.
헤더의'#include'과 cpp- 파일의'#include '이면 충분합니다. –
MadScientist