下面是一个使用C++语言的示例代码来创建一个包含不同T类型的异构对象数组:
#include 
#include 
#include 
// 定义一个基类
class Base {
public:
    virtual void print() const = 0;
};
// 定义派生类A
class A : public Base {
public:
    void print() const override {
        std::cout << "This is class A" << std::endl;
    }
};
// 定义派生类B
class B : public Base {
public:
    void print() const override {
        std::cout << "This is class B" << std::endl;
    }
};
int main() {
    // 创建异构对象数组
    std::vector> objects;
    
    // 添加对象到数组
    objects.push_back(std::make_unique());
    objects.push_back(std::make_unique());
    
    // 遍历数组并调用对象的方法
    for (const auto& obj : objects) {
        obj->print();
    }
    
    return 0;
}
    在上述代码中,我们首先定义了一个抽象基类Base,并声明了一个纯虚函数print()。然后,我们创建了两个派生类A和B,它们分别重写了print()函数。
接下来,在main()函数中,我们使用std::vector来创建了一个异构对象数组objects。我们使用std::make_unique函数创建了A和B的对象,并将它们添加到数组中。
最后,我们使用范围-based的for循环遍历了数组中的所有对象,并调用了它们的print()函数。
这样,我们就成功地创建了一个包含不同T类型的异构对象数组,并能够对它们进行操作。