【发布时间】:2015-11-15 12:34:37
【问题描述】:
来自 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++ 的美妙特性?
谢谢!
【问题讨论】:
-
您的实际问题是什么?你刚试过吗?应该可以正常工作。
-
我爱吃披萨的人,马上点一份
-
this是指向 C++ 中对象的指针,因此请使用this->cheese = cheese;或使用其他名称作为输入:cheese = newCheese; -
-> 符号似乎已经成功了。我想我需要做更多的测试。谢谢@stefaanv
-
@πάνταῥεῖ 我遇到了一个问题,我实际上已经为 Pepperoni 构造函数声明了一个参数输入,但是编译器似乎假设由于某种原因我调用了没有参数的构造函数,而实际上事实上我想做的就是声明成员变量