开心的牛仔 2023-05-24 16:16 采纳率: 50%
浏览 39
已结题

C++问题,使用指针还是对象

如果基类有一个成员A,子类1需要使用这个A,子类2不需要使用这个A,那么这个A应该定义成对象还是指针?

  • 写回答

4条回答 默认 最新

  • 前网易架构师-高司机 优质创作者: 人工智能技术领域 2023-05-24 16:25
    关注

    1.首先设计上应该是有问题的,既然子类2继承基类了,A自然就会成为子类2的成员,但是你认为不需要A了,所以设计上是有问题的,A应该作为子类1的成员,而不是基类的成员。
    2. 当然在现有的设计上,A定义为指针会更好一些,指针相对于普通对象更节省空间(可能你的A对象sizeof是34字节,但A指针的sizeof只占用8字节),另外也是认为在使用A的时候需要A了则new创建,不需要则是默认的空指针,减少无效的内存分配。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 6月1日
  • 已采纳回答 5月24日
  • 创建了问题 5月24日