TObject::ClassParent - C++ Builder

C++ Builder 参考手册 ➙ System ➙ TObject ➙ ClassParent


头文件:#include
命名空间:System
函数原型:

__classmethod TClass __fastcall ClassParent();

System::TObject::ClassParent 是 System::TObject 的成员函数,返回父类的类型信息。C++ 程序也可以使用 dynamic_cast 或 System::TObject::InheritsFrom 来判断类型。


例:获取一个控件的所有的父类一直到顶级父类

TObject::ClassParent 的返回值是 TClass 类型的。如果要用 c = c->ClassParent(); 向父类方向逐级访问,初始值需要用 ClassType 获取。

void __fastcall TForm1::Button4Click(TObject *Sender)
{
    TObject *p = Button1;
    TClass c = p->ClassType();
    while(c)
    {
        Memo1->Lines->Add(c->ClassName());
        c = c->ClassParent();
    }
}

运行结果:可以看到,Button1 是 TButton 类,父类是 TCustomButton,TCustomButton 的父类是 TButtonControl,……一直到顶级父类 TObject。

运行结果

参考:

  • System::TObject::ClassName
  • System::TObject::QualifiedClassName
  • System::TObject::UnitName
  • System::TObject::UnitScope
  • System::TObject::ClassInfo
  • System::TObject::ClassType
  • System::TObject
  • VCL 类继承关系

C++ Builder 参考手册 ➙ System ➙ TObject ➙ ClassParent

你可能感兴趣的:(TObject::ClassParent - C++ Builder)