내 코드 : 모두 분명히생성자 과부하 문제 C++에서 상속 여기
Request: Hello World
LoginRequest: Hello World with QDomDocument
Request: Hello World
LoginRequest: Hello World
: 오버라이드 LoginRequest
LoginRequest *test=new LoginRequest(doc);
의 호출 생성자 나는이 결과를 내놓았다
class Request
{
public:
Request(void);
………..
}
Request::Request(void)
{
qDebug()<<"Request: "<<"Hello World";
}
class LoginRequest :public Request
{
public:
LoginRequest(void);
LoginRequest(QDomDocument);
……………
}
LoginRequest::LoginRequest(void)
{
qDebug()<<"LoginRequest: "<<"Hello World";
requestType=LOGIN;
requestId=-1;
}
LoginRequest::LoginRequest(QDomDocument doc){
qDebug()<<"LoginRequest: "<<"Hello World with QDomDocument";
LoginRequest::LoginRequest();
xmlDoc_=doc;
}
LoginRequest의 생성자는 REquest 생성자라고 불린다.
이 상황에 대해 어떤 방법으로도 망칠 수 있습니까?
내가하고 싶은 작업을 수행하는 다른 함수를 생성 할 수 있으며 두 생성자 모두 해당 함수를 호출 할 수 있습니다. 하지만 거기에 어떤 해결책이 있을까?
편집 : http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.3
왜이 상황을 처리하고 싶습니까? 두 개의 LoginRequest를 생성하고 있습니다. 분명히 그것은 당신이 2 개의 요청을 가지고 있고, 요청 ctor가 두 번 호출되어야한다는 것을 의미합니다. – MSalters
사실, 하나의 LoginRequest를 만들고 싶었지만 지금은 내 잘못을 봅니다. – metdos