转载:http://zhidao.baidu.com/question/146659560.html

我觉得这个问题,回答的很好。

在c++的类中,我如果要访问类中的成员变量或函数,有2种方法,第一种就是定义一个一个对象,如:

Class A ...
A aa;
aa.xxx();另外一种就是
Class B ...
B *aa = new B();
aa->xxx();
这两种方法在使用上不知有没有什么区别,或是什么情况下用指针对象,什么情况下用普通对象?

问题补充:

用指针对象,用完之后需要释放内存空间

我来帮他解答

满意回答
2010-04-22 18:01
你提的问题很好,这个就是c++和java之间的区别,c++函数可以不写在类里面,这样就产生了全局变量定义,
文件#include等,在java中,A a = new A()
c++中等同于 A a;
另外在c++中还有另外一中声明和实例化就是使用指针,如:A* a= new A()
c++中的A a;就已经构造了对象;
而在java中 A a; 就是声明,还没有分配空间,在c++中就非常的灵活,
A a;在栈(stack)上分配空间,A * a= new A;在堆(heap)上分配空间
栈上空间自动回收,堆空间需要程序员手动回收

c++的类中,声明一个对象好还是用指针申请一块空间好?相关推荐

  1. [FxCop.设计规则]16. 不要在封闭类中声明虚成员

    16.     不要在封闭类中声明虚成员 翻译概述: 一条比较无聊的规则,并且VB.NET和C#编译器都已经内嵌的禁止代码违反这条规则. 引起的原因: 一个公共的封闭类型中包含虚成员.这条规则不检查d ...

  2. “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明)

    c++工程编译报错: "CObject::operator =": 无法访问 private 成员(在"CObject"类中声明) 错误无法直接定位源码位置,网 ...

  3. 05-----关于C++使用VS时出现 error C2248: “xxx“ 无法访问private成员(在“MySpdlog“类中声明)

    一 问题描述 项目中遇到一下问题,需要写个测试程序,但是在搭建的过程中,出现错误的,心想,代码一样的,怎么就报错了呢.于是开始查找问题. 错误如下: 因为我的测试程序文件不算多,就5个,代码也不多,于 ...

  4. qt程序报错error C2248: “ThreadTest::ThreadTest”: 无法访问 private 成员(在“ThreadTest”类中声明)

    问题: 在qt程序中新增一个类,未继承任何类,后来增加继承类的时候,添加继承类和Q_OBJECT宏后编译报错: error C2248: "ThreadTest::ThreadTest&qu ...

  5. 将Frock类声明为抽象类,尺寸在Frock类中定义,在类中声明抽象方法calcArea方法,用来计算衣服的布料面积。

    将Frock类声明为抽象类,尺寸在Frock类中定义,在类中声明抽象方法calcArea方法,用来计算衣服的布料面积. 编写Shirt类继承Frock类,实现 calcArea方法,用来计算衬衣所需的 ...

  6. C++中两个类中互相包含对方对象的指针问题

    前几天很不爽,因为C++中两个类中互相包含对方对象的指针编译时提示某一个类未定义...所以我就想啊想,这样也对,我的头文件都有#ifndef的,包含了一次就不能再包含了,以为就实现不了这样的功能,于是 ...

  7. php--在类中声明常量的关键字

    Final.static.const.instanceod Final :final关键字可以加在类或者类中方法之前,但是不能使用final标识成员属性. 作用: 使用final标识的类,不能被继承. ...

  8. java窗口只能点一个_java – 为什么界面只能在顶级类中声明?

    Won't inner class become top-level class if I put it into another Class file? 不,它仍然是一个内部类,文件名指示(IIRC ...

  9. java定义私有变量_java – 为什么在类中声明变量私有?

    我会开始道歉,因为我确信这已经在其他地方回答 – 我只是找不到一个解释它的方式我明白的答案!我正在做一个MSc转换课程,还有一些基本的基础,我仍然在努力,包括这一个 – 为什么使变量私有更好. 说我有 ...

最新文章

  1. python二进制打开(rb)和文本格式打开(r)什么区别?
  2. STM32为何能在众多单片机中脱颖而出?
  3. R语言使用caret包的confusionMatrix函数计算混淆矩阵、使用编写的自定义函数可视化混淆矩阵(confusion matrix)
  4. ERP与GMP结合在药类企业实施及应用
  5. 你知道Spring是怎么解析配置类的吗?
  6. Blog_Backup:绿色博客备份工具
  7. ASP.NET MVC学习:MVC 特性作用(二)
  8. set和multiset集合容器
  9. 【金九银十】Java微服务面试题,看到你就是赚到
  10. c语言中计算熵的函数,如何用c++编程实现各种信源熵的计算
  11. 程序员也要学英语——词根词缀大全(陆续更新)
  12. 工业面阵相机与源型PLC和漏型PLC外部触发接线
  13. “天生BUFF”华硕主板冷傲ROG
  14. 恢复出厂设置后itms注册失败_电信光纤故障OLT注册正常ITMS注册失败是怎么个情况...
  15. mysql数据库的连接
  16. 超给力,一款简单又实用的免费 GitHub 加速神器
  17. 腾讯后端面试题python_腾讯后端开发,一面面试题分享
  18. FICO_通过参考创建方式批量复制跨科目表的总账科目
  19. 校园贷受阻,汽车分期能帮趣店挽救困局吗?
  20. Python音频处理,录制播放

热门文章

  1. HDU2966 In case of failure(浅谈k-d tree)
  2. UIWindow创建局部弹框
  3. 打通版微社区(5):部署DZ3.2
  4. OGRE源代码resource分析
  5. Eclipse窗口显示:独立、嵌入式
  6. Java继承、封装、多态
  7. 软件测试之手动测试存在的重要原因
  8. python基础之字符串定义常见操作、列表定义进阶操作
  9. Spring MVC应用@Autowired和@Service进行依赖注入
  10. 通过路由远程计算机重启,路由器怎么重启?这几种方法教你重启怎么弄!