저는 C++을 처음 사용합니다. 다음 코드친구 클래스 방법에 액세스하는 방법은 무엇입니까?
Position.h
#pragma once
class Position
{
public:
Position(int x, int y, int z);
Position();
~Position();
void display();
private:
int x;
int y;
int z;
};
Position.cpp
#include "Position.h"
#include <iostream>
using namespace std;
Position::Position(int x, int y, int z)
{
this->x = x;
this->y = y;
this->z = z;
}
Position::Position(){}
Position::~Position(void)
{
}
GameComponent.h
#pragma once
#include<time.h>
class GameComponent
{
public:
GameComponent(int);
GameComponent();
~GameComponent(void);
virtual void update(const tm*);
friend class Position;
private:
int id;
};
에서 참조하시기 바랍니다
GameComponent.cpp
#include "GameComponent.h"
#include <iostream>
#include <time.h>
#include "DrawableGameComponent.h"
using namespace std;
GameComponent::GameComponent(int v):id(v)
{
}
GameComponent::GameComponent(){}
GameComponent::~GameComponent(void)
{
}
void GameComponent::update(const tm* time)
{
cout << "ID : " << id << endl;
cout << "Update: " << time->tm_hour << ":" << time->tm_min << ":" << time->tm_sec << endl;
//Position::displayPositions();
}
void Position::display()
{
cout << "X" << x << "Y" << y << "Z" << z << endl;
}
나는 GameComponent의 update(const tm* time)
방법 내부 클래스 GameComponent
의 친구 클래스 Position
에 속해있는 방법 display()
액세스해야합니다. 실제로 내가하려는 것은 클래스 Position
의 개인 데이터 멤버에 액세스하는 것입니다. 어떻게해야합니까? ++ 우정이 다른 방식으로 작동
다음을보십시오. http://www.cplusplus.com/doc/tutorial/inheritance/ – Lucian
우정은 양방향 관계가 아니며, 다른 방향으로 연결됩니다. –
또한, 디스플레이는 현재 공개로 선언되었으므로 여기서 우정의 필요성은 없습니다. – jpm