我创建了两个类,
template <typename Object>
class Apple
{
// some definitions
}
class Ball
{
Apple green,red;
//some more definitions
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说,
invalid use of template-name ‘Apple’ without an argument list
是不是可以在另一个类中使用类作为对象?
我几天前刚刚开始使用C++.所以请放轻松.
当然,你可以用另一个组合一个对象,也就是我们称之为Object Composition.
这里的问题是你已经声明Apple为模板类,所以它期望一个类型进行实例化.
例如:
class Ball
{
Apple<int> green,red; // Note the <int>
//some more definitions
}
Run Code Online (Sandbox Code Playgroud)
声明模板类时,不会将类型声明为新类型,而是(请原谅冗余)模板.因此,对象是实例化类的结果,而类是实例化模板类的结果.