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

求高手帮我解读下代码

菜鸟波波 发布于 2010-07-08 14:24, 444 次点击
#include <iostream.h>//是指标准库中输入输出流的头文件, cout就定义在这个头文件里
    class CPoint   //定义类
    {
public:
    CPoint( unsigned x, unsigned y )     //定义构造函数
    {     
m_x = x;
    m_y = y;     //初始化成员
}        
    void  Print() //定义成员函数   
    {     
cout << "Point(" << m_x << ", " << m_y << ")"<< endl; //通过成员变量输出参数值
}   
friend  CPoint  Inflate(CPoint &pt, int nOffset); // 声明一个友元函数
private:   
    unsigned      m_x,  m_y; //定义私有成员变量
    };
    CPoint Inflate ( CPoint &pt, int nOffset )     // 友元函数的定义
    {    CPoint ptTemp = pt;   
        ptTemp.m_x += nOffset;        // 直接改变私有数据成员m_x的值
         ptTemp.m_y += nOffset;   // 直接改变私有数据成员m_y的值
        return ptTemp;        //返回修改过私有成员值的类对象
    }

    void main()
    {        
CPoint pt( 10, 20 );   //创建对象并调用构造函数进行初始化
         pt.Print();         //输出修改前的类对象pt的值私有变量值
        pt = Inflate(pt, 3);        // 调用友元函数
    pt.Print();    //输出修改后的类对象pt的私有变量值
 }


这里我不懂红字那一段的&pt是什么意思,请高手帮我解读下。
4 回复
#2
菜鸟波波2010-07-09 10:35
自己顶下自己,知道的高手帮忙下哦。。
#3
雅雅2010-07-09 12:36
&pt是引用
#4
菜鸟波波2010-07-09 21:23
能说详细点吗?那一段我都不太理解,他这里创建的对象=PT,什么的搞不懂。。引用是怎么引用。。他引用什么。。比较小白,如果问的问题太白了别笑哈
#5
zhug2010-07-10 21:25
&pt相当于把pt这一个对象的所有属性都赋值给  ptTemp

CPoint ptTemp = pt;
1