来自Java,我已经习惯于能够包含我在其他类中创建的类,例如:
class Pepperoni{
}
class Pizza{
Pepperoni pepperoni;
Cheese cheese;
}
然而在C ++中,它似乎解释了我所看到的声明,而不是:函数调用使用带有空参数的默认构造函数初始化'Pepperoni'类。
我想要做的是能够创建一个Pizza类并初始化从其构造函数的输入中获取的'Pepperoni'和'Cheese'成员变量。比如:
Pizza::Pizza(Pepperoni pepperoni, Cheese cheese){
this.pepperoni = pepperoni;
this.cheese = cheese;
}
这只是一厢情愿的想法吗?我必须以另一种方式做吗?我是否忽略了C ++的精彩功能?
谢谢!
答案 0 :(得分:0)
这在Java和C ++中有所不同。虽然在Java中你所有的都是对基于堆的对象的引用,但在C ++中你所写的是OBJECT本身,而不是对它的引用。我建议你阅读一些关于C ++ OOP基础知识的资料,以便更好地理解这一点。例如,您可以阅读此内容并关注此问题中包含的其他问题的链接:C++ Pointer Objects vs. Non Pointer Objects