c++问题求助 谢谢
classCPoint{private:intm_x;intm_y;public:CPoint(int,int);intGetX();intGetY();};classC...
class CPoint
{
private:
int m_x;
int m_y;
public:
CPoint(int, int);
int GetX();
int GetY();
};
class CRectangle //矩形类
{
public:
CPoint m_cpLocation; //图形所在位置
int m_nWidth; //图形的宽度
int m_nHeight; //图形的高度
CRectangle(int nX, int nY, int nWidth, int nHeight);
int GetArea(); //求面积
int GetPerimeter(); //求周长
CPoint& GetPosition(); //返回图形位置
};
请问 CPoint& GetPosition();是什么意思 是对象函数吗?这个函数的返回值是一个对象?? 求解释 展开
{
private:
int m_x;
int m_y;
public:
CPoint(int, int);
int GetX();
int GetY();
};
class CRectangle //矩形类
{
public:
CPoint m_cpLocation; //图形所在位置
int m_nWidth; //图形的宽度
int m_nHeight; //图形的高度
CRectangle(int nX, int nY, int nWidth, int nHeight);
int GetArea(); //求面积
int GetPerimeter(); //求周长
CPoint& GetPosition(); //返回图形位置
};
请问 CPoint& GetPosition();是什么意思 是对象函数吗?这个函数的返回值是一个对象?? 求解释 展开
3个回答
2011-07-05
展开全部
#include<iostream>
using namespace std;
template <class T>
class max
{
private:
T** num;
int r,l;
public:
max()
{
printf("输入矩阵的行数及列数: ");
scanf("%d %d",&r,&l);
printf("依次输入矩阵的元素:\n");
num=(T**)malloc(sizeof(T*)*r);
for(int i=0;i<r;i++)
{
num[i]=(T*)malloc(sizeof(T)*l);
for(int j=0;j<l;j++)
{
cin>>num[i][j];
}
}
}
friend void print(max<T> a)
{
printf("矩阵共%d行%d列:\n",a.r,a.l);
for(int i=0;i<a.r;i++)
{
for(int j=0;j<a.l;j++)
{
cout<<a.num[i][j]<<" ";
}
printf("\n");
}
}
};
int main()
{
max<float> mi;
print(mi);
return 0;
}
如上就可以了。
错误主要是输入的格式问题。
scanf("%d",&num[i][j]);
这种是只可以输入整数的。
改成
cin>>num[i][j];
如有问题可以空间留言,或hi留言。
另外,虚机团上产品团购,超级便宜
using namespace std;
template <class T>
class max
{
private:
T** num;
int r,l;
public:
max()
{
printf("输入矩阵的行数及列数: ");
scanf("%d %d",&r,&l);
printf("依次输入矩阵的元素:\n");
num=(T**)malloc(sizeof(T*)*r);
for(int i=0;i<r;i++)
{
num[i]=(T*)malloc(sizeof(T)*l);
for(int j=0;j<l;j++)
{
cin>>num[i][j];
}
}
}
friend void print(max<T> a)
{
printf("矩阵共%d行%d列:\n",a.r,a.l);
for(int i=0;i<a.r;i++)
{
for(int j=0;j<a.l;j++)
{
cout<<a.num[i][j]<<" ";
}
printf("\n");
}
}
};
int main()
{
max<float> mi;
print(mi);
return 0;
}
如上就可以了。
错误主要是输入的格式问题。
scanf("%d",&num[i][j]);
这种是只可以输入整数的。
改成
cin>>num[i][j];
如有问题可以空间留言,或hi留言。
另外,虚机团上产品团购,超级便宜
展开全部
返回值是对CPoint对象的引用。
追问
具体一些 我还是不大懂 谢谢 如果调用GetPosition()那它会返回一个什么样的值?
追答
返回的值看起来就跟CPoint对象一样,比如可以对它调用GetX, GetY方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CPoint& GetPosition();返回的是CPoint类的引用,可以理解为CPoint类的一个对象的地址,可以和对象一样的调用成员函数、变量,返回一个引用是为了降低系统开销,因为它不会调用CPoint类的复制构造函数!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询