C에서 다형성 객체 복사
질문:
C에서 어떻게 깊은 정확한 파생 클래스가 있을 때 기본 클래스 인스턴스의 복사본이 생성됩니다. 알 수 없음?
정답:
가상 복제 방법 활용
다형성 객체를 효과적으로 전체 복사하려면 다음 접근 방식을 사용할 수 있습니다. 사용:
공변 반환 유형 활용
그러나 более "C "가 있습니다. 접근 방식:
공변 반환의 예 유형:
class Base { public: virtual Base* Clone() = 0; }; class Derivedn : public Base { public: // Call to copy constructor is implicit Derivedn* Clone() { return new Derivedn(*this); } private: Derivedn(const Derivedn&) : ... {} };
이 접근 방식은 간결하며 C의 다형성 원칙을 따릅니다. Clone() 메소드에서 명시적인 멤버 복사가 필요 없이 객체의 원활한 전체 복사가 가능합니다.
위 내용은 파생 클래스를 알 수 없는 경우 C에서 다형성 개체를 심층 복사하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!