注册 登录
编程论坛 C++教室

求解释行C++

Sornets 发布于 2013-04-15 22:09, 502 次点击
程序代码:

#include <iostream>
#include <iomanip>
using namespace std;
class Point
{
    public:
    Point(double aa=0,double bb=0)
    {
        x=aa;
        y=bb;
    }
    void show()
    {
        cout<<"Point : ("<<setprecision(16)<<x<<", "<<y<<")\n";
    }
    private:
    double x,y;
};
int main()
{
    char c;
    double a, b;
    Point q;
    while(std::cin>>a>>c>>b)
    {
        Point p(a, b);
        p.show();
    }
    q.show();
}


while里那个Point p(a,b)怎么理解?
我感觉应该写成

Point p;
Point.Point (a,b);


3 回复
#2
如蜗牛2013-04-15 22:13
我认为,Point p(a,b),完成两个动作:声明一个对象p,调用构造函数。你可以去看看构造函数和理解一下类和对象的关系!
#3
邓士林2013-04-15 23:00
Point p(a, b);这是定义个类对象并进行赋值,
Point p;
Point.Point (a,b);
如果一个函数和类型一样,那么这个函数就是构造函数,所以你的初衷这样写不是对的,类可以定义对象,但是不能引用对象,只有对象能引用类中的成员函数。

#4
好聚好散2013-04-16 12:36
构造函数,,,Point p(a, b)。。。。aa = a; bb = b;
1