为了账号安全,请及时绑定邮箱和手机立即绑定

coordinate &coor,有大神求解

#include <iostream>

using namespace std;


/**

 * 定义Coordinate类

 * 友元函数:display

 * 数据成员:m_iX、m_iY

 */

class Coordinate

{

    // 友元函数

    friend void display(coordinate &coor); 

public:

Coordinate(int x, int y)

{

m_iX = x;

m_iY = y;

}

public:

int m_iX;

int m_iY;

};


/**

 * display函数用于显示m_iX、m_iY的值

 */

void display()

{

cout << "m_iX:" << coor.m_iX << endl;

cout << "m_iY:" << coor.m_iY << endl;

}


int main(void)

{

    // 实例化Coordinate对象

coordinate t;

    // 调用display函数

    t.display;

return 0;

}

这个代码中,虽然我在单元解答中通过了,可还是有很多不明白的地方,一个就是display(coordinate & coor),这条语句是什么意思?是指针么?能不能 详细说明,谢谢了

正在回答

5 回答

建议把以前的基础视频在学一遍吧,这代码有很多问题都是基础问题,声明对象都写错。

0 回复 有任何疑惑可以回复我~

感觉楼主的代码有很多问题啊,我自己验证了下,首先,friend void display(Coordinate &coor);这句中Coordinate首字母要大写表示一个Coordinate类,小写就什么也不是了,当然后面这句Coordinate t;中也要大写。然后,看你代码应该是课上讲的,友元全局函数,那么它实现的时候应该写全也就是void display(Coodrdinate &coor){....}。最后,实例化一个对象时像这样Coordinate t(2,3);得传个参数吧,最后调用直接display(t);这应该不是Coordinate类里面的函数吧。友元我是这样理解的,外面的函数(像这的全局函数display)想用一个类里面的private下的数据,一般是不允许的,所以你的告诉你要用的那个类里面,我们是友元的,我可以用你的数据。大概是这么回事,不知到对不对。关于为什么要&这个,好像听课上说的,引用指针对象都可以,但引用和指针效率高些,一般不用对象,关于这方面,希望补充

#include <iostream>
using namespace std;
#include<stdlib.h>

/**
* 定义Coordinate类
* 友元函数:display
* 数据成员:m_iX、m_iY
*/
class Coordinate
{
	// 友元函数
	friend void display(Coordinate &coor);
public:
	Coordinate(int x, int y)
	{
		m_iX = x;
		m_iY = y;
	}
public:
	int m_iX;
	int m_iY;
};

/**
* display函数用于显示m_iX、m_iY的值
*/
void display(Coordinate &coor)
{
	cout << "m_iX:" << coor.m_iX << endl;
	cout << "m_iY:" << coor.m_iY << endl;
}

int main(void)
{
	// 实例化Coordinate对象
	Coordinate t(1,3);
	// 调用display函数
	display(t);
	system("pause");
	return 0;
}



1 回复 有任何疑惑可以回复我~

感觉引用用起来要比指针好理解多了。至今不敢用指针

0 回复 有任何疑惑可以回复我~

是引用,指针是带*的,这个&是引用,就是给传入的那个coordinate对象起一个别名为coor,通过这个别名可以直接使用它

0 回复 有任何疑惑可以回复我~

引用啊

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之模板篇
  • 参与学习       91156    人
  • 解答问题       318    个

本C++教程力求即学即会,所有知识以实践方式讲解到操作层面

进入课程

coordinate &coor,有大神求解

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信