클라이언트는 내가 만들고 만드는 그것의 초기화에 새로운 세션 객체를 전달해야하므로 DLL의 상위 클래스입니다 요청 및 세션이 동일한 세션에 할당해야합니다. 가능합니까?
class Session
{
public:Session() {}
};
class Requestor
{
public: Requestor(const Session& session) {};
};
class Client
{
public:Client()
{
Session newSession;
requestor = Requestor(newSession);
}
private:
Session session;
Requestor requestor;
};
가능하지만 초기화 순서가 멤버의 선언 순서에 따라 달라진다는 점에서 다소 취약합니다. 이것이 귀하의 예에서와 같이 남아 있다면 간단히 할 수 있습니다.
class Client()
{
public:
Client() : requestor(session) // session is implicitly default constructed
{}
private:
Session session;
Requestor requestor;
};
참고 : Session
생성자에서 로컬 개체를 인스턴스화하는 이유는 명확하지 않습니다 . 나는 그것이 실수라고 생각합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다