Free Pascal에서는 할당 된 클래스 타입으로부터 객체를 생성하는 클래스의 클래스를 생성 할 수 있습니다. 예를 들어 :C++ 클래스 타입을 유지하는 타입
type
TBaseClass = class
end;
TBaseClassType = class of TBaseClass;
TFooClass = class(TBaseClass)
end;
TBarClass = class(TBaseClass)
end;
은 이제 변수를 선언 할 수
MyClassType: TBaseClassType;
MyObject: TBaseClass;
그리고 사용 :
// This will create instance of object TFooClass
MyClassType := TFooClass;
MyObject := MyClassType.Create;
// ... and here of TBarClass
MyClassType := TBarClass;
MyObject := MyClassType.Create;
가 어떻게 C++에서 비슷한 일을 할 수 있습니까? 어떻게 어떤 VAR에서 클래스 유형을 저장하고 그것에서 개체를 만들고 (물론 생성자를 호출) 짧은 대답은
감사
상속을 찾고 있습니다. 당신은 좋은 책을 사서 어쩌면 참고하거나 온라인으로 많은 튜토리얼이 있어야합니다. 그러나이 특정 사례를 확인하려면 : http://www.tutorialspoint.com/cplusplus/cpp_inheritance.htm – stardust
나는 C++에서 상속이 어떻게 작동하는지 알고 있으며 Free Pascal과 비슷합니다. 그러나'TBaseClassType = class of TBaseClass'를보십시오. 이 선언문과 동일한 C++은 무엇입니까? – Dibo
@Dibo 왜 책을 가지고 시작하지 않으시겠습니까? –