C++用new创建类对象问题

C++用new创建类对象问题MyClass*a=newMyClass用new创建类对象,a是指向对象的指针,那对象名又是哪个... C++用new创建类对象问题MyClass * a=new MyClass 用new 创建类对象 ,a是指向对象的指针,那对象名又是哪个 展开
 我来答
百度网友288ba2d
2013-01-18 · TA获得超过364个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:288万
展开全部
MyClass *a = new MyClass 这句话的意思是创建一个Myclass类型的指针a,并生成一个MyClass对象,使指针a指向这个对象。 这个对象是匿名对象没有名字。
xoaxa
2013-01-18 · TA获得超过8613个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3934万
展开全部
用关键字new生成的对象是无名的,只是在动态内存中利用构造函数生成一个新对象,且返回指向这个对象的指针,对于MyClass *a = new MyClass;,可以利用a->来访问该类的数据成员和成员函数,也可以用复制构造函数进行复制......,总之,除了名字和存储位置之外,与普通的类实例没有多大区别,不过要注意的是,在不需要该类对象时,要及时释放,并应与析构函数相互协调。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最爱那个小青春

推荐于2017-09-22 · TA获得超过1909个赞
知道小有建树答主
回答量:1629
采纳率:56%
帮助的人:389万
展开全部
CTest* pTest = new CTest();
delete pTest;
pTest用来接收类对象指针。
不用new,直接使用类定义申明:
CTest mTest;
此种创建方式,使用完后不需要手动释放,该类析构函数会自动执行。而new申请的对象,则只有调用到delete时再会执行析构函数,如果程序退出而没有执行delete则会造成内存泄漏。
2、只定义类指针
这跟不用new申明对象有很大区别,类指针可以先行定义,但类指针只是个通用指针,在new之前并为该类对象分配任何内存空间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
畅流冰9
2013-01-18 · TA获得超过222个赞
知道答主
回答量:198
采纳率:0%
帮助的人:193万
展开全部
该对象没有名字,但可以解指针使用该对象,或者用引用 MyClass & b = *a; 那么b 和 *a 表示同一个对象了。如果MyClass b = *a;这样,a 和 b是2 个对象 只是里面的内容一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
F22张杰
2013-01-18 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:153
采纳率:100%
帮助的人:90.6万
展开全部
a取内容不就是对象本身了么。或者MyClass * a=new MyClass MyClass b=*a;b就是对象了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式