我对C ++和OOP很陌生,所以我对一个方面特别感兴趣。我定义新课时的时刻。我给它起了名字而没有任何功能。 但是在课外,有一个带有类名数据类型的函数。
我想知道这个特殊的例子:
class point
{
public:
double x;
double y;
};
point solve(line v1, line v2);
int main()
{
point A = solve(_a, _b);
}
point solve(line v1, line v2)
{
point a;
a.x = 0;
a.y = 0;
//more code here
return a;
}
我真的不知道怎么一个类名成为一个独立的函数,该类的数据类型和函数名称是不同的(点解决())。它不是构造函数,也不是引用,因为它返回值。在该函数内部还有另一种数据类型Point。
有没有办法让初学者更容易理解?
答案 0 :(得分:2)
好吧,先找一本好的C ++书。也许是C ++ Primer。
我想你在问
point solve(line v1, line v2)
point
是返回值的类型。所以这类似:solve
是一个接受两个参数的函数,两个参数都有line
类型,并返回一个类型为point
的值。
答案 1 :(得分:0)
Class只是一个用户定义的数据类型,在声明'solve'函数之前,你声明了类'point',所以编译器知道那个数据类型
如果在声明类点之前声明了solve函数,则会出错。
point solve()函数不能是构造函数,因为它与类的名称不同,而第二类它不在类的范围内。