我正在查看我的c ++书籍,并找到了这个代码示例
class CDistance
{
private:
int feet, inches;
public:
CDistance();
CDistance(int, int);
~CDistance();
void setDist();
void printDist() const;
CDistance add(const CDistance&) const;
};
我理解构造函数和重载等等,但是这个类型的底部原型怎么样。奇怪的是,这本书没有给出任何信息,只是图表。但我只是想知道,函数类型属于类是什么意思。我很确定我理解参数,因为它似乎是对该类类型的对象的常量引用。但为什么/如何声明这样的函数,是否意味着它返回类?大声笑,我是编程的新手,如果有人能帮助我理解这一点,我真的很感激。
答案 0 :(得分:4)
只有当函数具有类的名称时,才将其调用为构造函数。类型CDistance
的函数意味着该函数返回该类的对象。所以它不是构造函数
答案 1 :(得分:2)
构造函数在某些方面与普通成员函数不同:
这使得函数CDistance::add
不是构造函数,因为它在所有3上都失败了。
答案 2 :(得分:1)
你的意思是:CDistance add(const CDistance&) const;
?
这是详细信息:
参数中const
的目的是确保不得通过其引用更改原始对象...
const
after参数是为了确保方法不能改变其体内的任何内容。
该函数返回CDistance
的对象,因此执行后您可以使用新对象来获取它,如例:
CDistance tempObj = theObj.add (param_obj);
希望有帮助...:D
答案 3 :(得分:0)
很有用:
CDistance D1 = CDistance();
CDistance D2 = CDistance();
CDistance D3 = CDistance();
D3.add(D2.add(D1));