In C++17 or better you’d use fold expressions, to “walk through” your heterogenous arguments applying the member function:
auto Printer = [](auto&&... args) {
(args.show(), ...);
};
Printer(w1, w2, w3, w4, w5, w6, t1, t2, t3);
Demo
You can read more on this in my blog