第四章类与对象错题总结

  1. 析构函数是一种函数体为空的成员函数

答案:错误
解析:析构函数的函数体也可以不为空。

class point {
  public:
  point ()
  {
    x=0;
    y=0;
  }
  ~point ()
  {
    cout<<"class point is deleted !"<<endl;
  }
  private:
  double x,y;
};

如上可知,析构函数的函数体中也可以不为空。
一般来说,析构函数的考点主要有以下这些:析构函数(Destructor)也是一种特殊的成员函数,没有返回值,不需要程序员显式调用(程序员也没法显式调用),而是在销毁对象时自动执行。构造函数的名字和类名相同,而析构函数的名字是在类名前面加一个~符号。
注意:析构函数没有参数,不能被重载,因此一个类只能有一个析构函数。如果用户没有定义,编译器会自动生成一个默认的析构函数。
析构函数的执行时机:
析构函数在对象被销毁时调用,而对象的销毁时机与它所在的内存区域有关。
在所有函数之外创建的对象是全局对象,它和全局变量类似,位于内存分区中的全局数据区,程序在结束执行时会调用这些对象的析构函数。
在函数内部创建的对象是局部对象,它和局部变量类似,位于栈区,函数执行结束时会调用这些对象的析构函数。
new 创建的对象位于堆区,通过 delete 删除时才会调用析构函数;如果没有 delete,析构函数就不会被执行。
2. 对象成员的表示与结构变量成员表示相同,使用运算符.或->。
答案:正确
解析:这里的结构变量成员指的是结构体成员变量。
3.在UML中,聚集表示为空心菱形,组合表示实心菱形。
答案:正确

全部评论

相关推荐

12-27 22:29
门头沟学院 Java
点赞 评论 收藏
分享
10-31 21:01
武汉大学 Java
lulululula...:仅仅按我个人的经历来看,大厂其实很少特别关注微服务,一般对微服务架构,限流熔断降级的概念了解就行,简历不写也不容易被问到。现在这个势头不如站点agent应用,比如做做mcp,rag,r对话agent,记忆管理之类的,说不定可以蹭上一波热度,进公司虽然可能还是干agent的杂活,但是可以学一学组内的业务和技术了
点赞 评论 收藏
分享
牛客77743221...:做一段时间,公司出钱送你去缅甸和泰国旅游
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务