为了账号安全,请及时绑定邮箱和手机立即绑定
下载了别人的源代码,竟然无法编译
很多东西不是一次就能听懂的,多听多看,慢慢就理解了
m_pcoorA = new coordinate(x1, y1); //这是在干啥啊?这里为什么用到coordinate()???
m_pcoorB = new coordinate(x2, y2);
cout << "line()" << endl;
应该就是在迷宫类的生成迷宫的函数中遍历那个二维数组,如果是WALL就生成一个*,如果以是RODE就生成空格
很喜欢!学的也挺快的!
const Coordinate coor(3, 5);

// 创建常指针p
const Coordinate *p = &coor;
// 创建常引用c
const Coordinate &c = coor;

coor.printInfo();
p->printInfo();
c.printInfo();
// 在堆上创建对象指针
Coordinate *p = NULL;
p = new Coordinate(3,5);
// 打印坐标
cout << "(" << p->m_iX << "," << p->m_iY << ")" << endl;
// 销毁对象指针
delete p;
p = NULL;
return 0;
支持哦!!!

已采纳回答 / qq_shuaishuaiha_0
同学你好,截图中的这种方法使列表初始化,常量成员赋值就是要这种方法。你看下封装上篇其中的6-4C++构造函数初始化列表,想必你就更清楚了。

已采纳回答 / 慕工程2528034
构造函数的初始化列表如下:对象名:对象名(成员变量1初始化,成员变量2初始化.......):成员变量1(初始化值),成员变量2(初始化值2)例如:一个类A,有两个成员变量(int)x,y;A的构造函数可以写成这样:A:A(int m,int n):x(m),y(n){}
....
// 打印坐标的函数
void printInfo()
{
cout << "(" << m_iX << "," << m_iY << ")\n";
}
public:
int m_iX;
int m_iY;
};
int main(void)
{
//定义对象数组
Coordinate coorArr[2];
coorArr[0].m_iX = 1;
coorArr[0].m_iY = 2;

coorArr[1].m_iX = 3;
coorArr[1].m_iY = 4;
Coordinate *p = new Coordinate[3];
p->m_iX = 7;
p->m_iY = 9;

// p = p+1; // p = p + 1;
(p+1)->m_iX = 11;
(p+1)->m_iY = 17;

// p = p+1;
(p+2)->m_iX = 3;
(p+2)->m_iY = 2;

最新回答 / 不知道_20830
在命名相同的情况下可以使用的,在对象调用时可以使用的,只表示当前对象里面的成员,可灵活运用

已采纳回答 / qq_梵蒂冈_1
用的话就是这样line::line(int x1,int y1,int x2,int y2):m_iA(new coordinate(x1,y1)),m_iB(new coordinate(x2,y2)){cout<<"line()"<<endl;}用不用都可以的,看自己习惯。

已采纳回答 / 陆晓东
setX(int x)前括号像是中文字符
如果函数返回return *this,则会创立临时对象,在调用处的对象是临时对象并不是this所指向的对象。
课程须知
本课程是C++初级课程 需要掌握C++语言基础语法 如果不太熟悉的话,可以观看: 《C++远征之起航篇》 《C++远征之离港篇》 《C++远征之封装篇(上)》
老师告诉你能学到什么?
1、对象数组的定义和使用 2、对象成员的定义和使用 3、深拷贝和浅拷贝 4、对象指针、对象引用的定义和使用 5、常对象指针、常对象引用、常成员函数的定义和使用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消