C++中 new 在什么时候用?? 为什么 Class c = new Class报错

C++中new在什么时候用??为什么Classc=newClass报错改成Class*c=newClass就对了难道C++中new只能new出一个指针吗??请高手解释下C... C++中 new 在什么时候用?? 为什么 Class c = new Class报错
改成 Class *c = new Class 就对了 难道C++中new 只能new出 一个指针吗??
请高手解释下 Class *c = new Class ;
Class *c ;
Class c ;
3个有什么区别 好像都可以 调用 Class 里面的方法也可以给Class里面的属性赋值那为什么要这样区分?
展开
 我来答
tenjingou
推荐于2018-04-01
知道答主
回答量:7
采纳率:0%
帮助的人:11.5万
展开全部
1>Class c=new Class
new Class 表示在堆栈中创建一个Class类变量,而要访问这个变量,必须通过指针来访问,因此
应该改为:Class *c=new Class;
2>请高手解释下 Class *c = new Class ; Class *c ; Class c ;
第一个是在堆栈中创建Class类型的变量并用指向Class类变量的指针指向它
第二个是创建一个指向Class类型变量的指针
第三个是创建Class类型的变量
3>建议在类、变量、函数名等命名时尽量不要与关键字相似,最好去找一些命名规则来看一下,其实命名是很有讲究的,像你所提问题中的Class最好改为CClass这是因为类的命名规则一般前面都会加一个“C”以表示这是一个类。
jaybestwang
2011-11-28 · TA获得超过4106个赞
知道小有建树答主
回答量:940
采纳率:0%
帮助的人:705万
展开全部
new返回的是一个指针,所以必须用指针接收
Class *c = new Class ; // 定义一个Class类的指针c,创建一个Class类对象,并赋给这个指针
Class *c ; // 定义一个Class类指针c
Class c ; // 定义一个Class类对象
对象调用属性用.操作符,指针调用属性用->操作符,第三种在实际应用中不常用,因为涉及到多台继承等问题都用指针解决。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
追梦人奋斗着
2011-11-28
知道答主
回答量:25
采纳率:0%
帮助的人:13.3万
展开全部
new主要为指针分配内存,不能乱用,类建立时不需要new的,跟纯粹的面向对象的语言不同。比如:
int * a=new int;
在链表中经常用到new为新建的struct或class非配内存空间,并用指针接收
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e6248f8
2011-11-28 · TA获得超过111个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:57.8万
展开全部
new函数是返回的是一个指针,当然必需赋值给一个指针.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式