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

最新回答 / 宝慕林6433564
怎么叫都可以,只要自己能理解就行
现在的能力绝对写不出来啊,太难了

最赞回答 / atx237
慕课网以前有个学习路径,是免费的,现在改版了页面上没有入口,但是地址还在。。C++的路径:https://www.imooc.com/course/programdetail/pid/42路径url后面的pid可以改,自己试试
this 有点像Python中的self,不过self是显性的,this是隐性的
int main(void)
{
// 在堆上创建对象指针
Coordinate *p=new Coordinate(3,5);
// 打印坐标
cout <<p->m_iX<<","<<p->m_iY << endl;
// 销毁对象指针
delete p;
p=NULL;
return 0;
}
#include <iostream>
using namespace std;
class Coordinate
{

public:
Coordinate(int x, int y)
{
// 设置X,Y的坐标
m_iX=x;
m_iY=y;
}
public:
int m_iX;
int m_iY;
};
int main(void)
{
//定义对象数组
Coordinate coorArr[2]={{1,2},{3,4}};
//遍历数组,打印对象信息
for(int i = 0; i < 2; i++)
{

coorArr[i].printInfo();

}
return 0;
}
#include<iostream>
using namespace std;
class Coordinate
{
public:
Coordinate(int x,int y)
{
m_iX=x;
m_iY=y;
}
void printInfo()
{
cout<<m_iX<<","<<m_iY<<endl;
}
public:
int m_iX;
int m_iY;
};
跟C#里面的基本一样
为了对象这个词的表述,老师也是煞费苦心啊,pair elephants
上面的兄弟 在heap中都需要自己去管理内存 不是说没有指针数组之类的东西 就不涉及内存管理
调用和实例化应该区别啊!

最赞回答 / caalina
贴一下我在网上搜的解释;如果对象A中有对象成员B,对象B没有默认构造函数,那么对象A必须在初始化列表中初始化对象B(原因:因为实例化A时,会先执行B的构造函数,再执行A的构造函数,如若对象B没有默认构造函数,即需要给B的构造函数传递参数才能调用,但是此时A的构造函数还没有执行,因此它还拿不到A构造函数的参数,所以先调用B的构造函数这个过程将无法进行。而初始化列表会先于构造函数的执行对对象成员进行初始化,因此不必再担心B的构造函数拿不到参数而无法执行的问题。因此如果B没有默认构造函数,那么对象A必须在初始化...

已采纳回答 / 无知的陈先生
理论上是在main函数所在的cpp文件对应的头文件中添加比较正规,但是实际应用的时候都是直接在main函数所在的cpp文件中直接添加用到的函数所在的头文件(h)。正常是不会包括cpp文件的,不然预编译的时候全部展开,代码太冗长了。
这节听得好懵逼啊……
课程须知
本课程是C++初级课程 需要掌握C++语言基础语法 如果不太熟悉的话,可以观看: 《C++远征之起航篇》 《C++远征之离港篇》 《C++远征之封装篇(上)》
老师告诉你能学到什么?
1、对象数组的定义和使用 2、对象成员的定义和使用 3、深拷贝和浅拷贝 4、对象指针、对象引用的定义和使用 5、常对象指针、常对象引用、常成员函数的定义和使用

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消