VCL中的虚拟构造函数有什么意义?
老概以前说过:
构造顺序和一般对象的构造是一样的,只不过它构造函数的地址不是编译时确定,而是运行时确定。构造函数可以virtual对于VCL这种类库的设计至关重要,它允许创建程序编译时未知的类实例,只要该类的基类已知就可以。VCL中凡是支持设计时的组件都必须继承自TComponent或者它的派生类,而TComponent的构造函数就是virtual的。
https://bbs.csdn.net/topics/392069877
————————
当时不太理解,后来知道Delphi有一个类类型,TClass。
不过这句不太理解:
它允许创建程序编译时未知的类实例
VCL中什么类型是编译时未知的呢?如果窗体上放一个按钮,类型不就是TButton吗?