C++:一个类可以用作另一个类中的对象吗?

Cha*_*dan -3 c++ class object

我创建了两个类,

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++.所以请放轻松.

Ray*_*nda 5

当然,你可以用另一个组合一个对象,也就是我们称之为Object Composition.

这里的问题是你已经声明Apple为模板类,所以它期望一个类型进行实例化.

例如:

class Ball
{
    Apple<int> green,red;   // Note the <int>
    //some more definitions
}
Run Code Online (Sandbox Code Playgroud)

声明模板类时,不会将类型声明为新类型,而是(请原谅冗余)模板.因此,对象是实例化类的结果,而类是实例化模板类的结果.