在类内声明的函数是成员函数,形参比实际看到的多一个。
struct Sales_data
{
Sales_data A(const Sales_data a,const Sales_data b);
};
Sales_data Sales_data::B(const Sales_data a,const Sales_data b){}
Sales_data m,n;
A是成员函数,对于对象m它的调用方式是m.A(m,n);B是非成员函数,它的调用方式为B(m,n),它没有对象。
A的真身是Sales_data A(Sales_data *const this,const Sales_data a,const Sales_data b)。
我的理解有没有错误啊?
struct Sales_data
{
Sales_data A(const Sales_data a,const Sales_data b);
};
Sales_data Sales_data::B(const Sales_data a,const Sales_data b){}
Sales_data m,n;
A是成员函数,对于对象m它的调用方式是m.A(m,n);B是非成员函数,它的调用方式为B(m,n),它没有对象。
A的真身是Sales_data A(Sales_data *const this,const Sales_data a,const Sales_data b)。
我的理解有没有错误啊?