포함 개체 만들기
포함 개체를 사용해 인스턴스를 만들 때 다음 작업을 수행합니다.
포함 개체를 강력한 형식 또는 약한 형식으로 선언해야 합니다.
강력한 형식의 개체는 특정 클래스의 개체를 가리키고 클래스 이름을 사용합니다. 약한 형식의 개체는 특정하지 않은 클래스의 개체를 가리키고 개체 키워드를 사용합니다. 두 개체 모두 VT_UNKNOWN 형식에 매핑됩니다.
초기화 및 선언에서 포함 개체 및 경로의 기본값에 NULL을 사용할 수 있습니다.
개체 경로를 포함할 때 포함된 경로의 요소 사이에 공백을 배치하지 마세요. 예를 들어 개체 경로 "Class1Index=3;"에는 속성 이름 "Class1index"와 할당되는 값("3") 사이에 공백이 없습니다.
다음 클래스 선언에서는 강력한 형식 및 약한 형식의 포함 개체를 선언하는 방법을 보여줍니다.
Class MyClass
{
EmbedClass Object1; // Strongly typed
object Object2; // Weakly typed
};
다음 예제에서는 클래스 선언 내에서 포함 개체를 선언하는 방법을 설명합니다.
Class Class1
{
[key] sint32 Class1Index;
};
Class Class2
{
[key] sint32 Class2Index;
Class1 EmbedObject1 = instance of Class1{Class1Index=3;};
};
Class Class3
{
[key] sint32 Class3Index;
Class2 EmbedObject2 = instance of Class2 {Class2Index=4;};
};
다음 예제에서는 강력한 형식의 개체인 속성과 약한 형식의 개체 배열인 다른 속성의 초기화를 설명합니다.
Class EmbedClass1
{
[key] sint32 intval;
};
Class EmbedClass2
{
[key] string sval;
};
Class ContainerClass
{
[key] sint32 intval;
EmbedClass1 SingleObject;
Object ArrayObject[];
};
Instance of ContainerClass
{
intval = 33;
SingleObject = instance of EmbedClass1 {intval=99;};
ArrayObject = {instance of EmbedClass2 {sval="something";},
instance of EmbedClass1 {intval=100;}};
};