You won't impress much your Java and C# friends unless they care about speed. So for them it's speed. For C/C++, I would go with class design (by reference only, garbage colleted, always virtual, easy initialization) and still mention speed.