Hỏi cách tạo 1 mảng chứa các objects thuộc nhiều class khác nhau

Mn chỉ giúp mình cách nào tối ưu nhất với. Cảm ơn các bạn

có phải là tạo các class Meo, Cho rồi ke thua DongVat xong tao mot mang kieu DongVat roi add cac doi tuog meo cho kia vao ko biet dung ko nua :smile:

public class MyMain {
	public static void main(String[] args) {
		Cho cho = new Cho();
		Meo meo = new Meo();
		DongVat arr[] = new DongVat[2];
		arr[0] = meo;
		arr[1] = cho;
	}
}

hehe ko bi lỗi.

Tạo mảng kiểu object xem sao.

vậy c++ giống hệt với java à

cùng là ngôn ngữ OOP mà, muốn giống thì nó giống thôi

hoặc có thể xài boost::any :astonished:

#include <iostream>
#include <boost/any.hpp>
#include <vector>
#include <string>

using many = std::vector<boost::any>;

int main()
{
    many p;
    p.push_back(10);
    p.push_back((const char*)"hello");
    p.push_back(std::string{"world"});
    
    for (auto& a : p)
    {
        try {
            auto b = boost::any_cast<int>(a);
            std::cout << b << "\n";
        } catch (const boost::bad_any_cast&) {
            try {
                auto b = boost::any_cast<const char*>(a);
                std::cout << b << "\n";
            } catch (const boost::bad_any_cast&) {
                try {
                    auto b = boost::any_cast<std::string>(a);
                    std::cout << b << "\n";
                } catch (const boost::bad_any_cast&) {
                    std::cout << "Unknown type\n";
                }
            }
        }
    }
}

http://rextester.com/CEFV60368

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?