그래서 어떻게이 클래스의 객체를 반환 할 수 있습니까 ?? 이 내가 원하는되지 않고 실제 클래스의 단지 표현입니다
Foo Bar()
{
Foo obj;
return Foo(obj); //invokes copy constructor
}
주로
Foo Bar()
{
Foo obj;
return obj;
}
은이 복사 생성자
Foo::Foo(const Foo& obj)
{
ptr = new char [10];
for(int i = 0 ; i < 10 ;++i)
ptr [i] = obj.ptr[i];
}
그리고 기능을 추가하여 해결 될 수있다 권장 표준에 따라 생성되었습니다 (즉, std::string
또는 std::vector
을 사용하지 마십시오).
@PaulMcKenzie 문제를 극복하기 위해해야 할 일을 설명하지 않습니다. – WARhead
이 링크는 복사 생성자, 할당 연산자 및 소멸자가 필요함을 보여줍니다. – PaulMcKenzie
@WARhead, 첫 번째 대답에서 ** 리소스 관리 ** 섹션을 보았습니까? –