免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1948 | 回复: 7
打印 上一主题 下一主题

今天思科的一道笔试题,请解释,谢谢! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-28 15:37 |只看该作者 |倒序浏览
#include <iostream>
#include <string>

using namespace std;

class A{
  public:
    A(){cout << "A";}
    ~A(){cout << "~A";}
};

class B{
  public:
    B(){cout << "B";}
    ~B(){cout << "~B";}
};

class C:public A{
  public:
    C(){cout << "C";}
    ~C(){cout << "~C";}
  private:
    B b;
};


int
main ()
{
  C c;
  return 0;
}

结果是:ABC~C~B~A

我的问题是:private是不是在构造函数之前被调用?

论坛徽章:
0
2 [报告]
发表于 2005-11-28 15:43 |只看该作者
类中变量的空间分配以及初始化是在构造时一起完成的吧

论坛徽章:
0
3 [报告]
发表于 2005-11-28 15:46 |只看该作者
to:HolyChina
  问题是对B的调用在C 的构造之前,这个怎么解释呢?

论坛徽章:
0
4 [报告]
发表于 2005-11-28 15:47 |只看该作者
原帖由 HolyChina 于 2005-11-28 15:43 发表
类中变量的空间分配以及初始化是在构造时一起完成的吧

类成员变量的空间分配和初始化是在构造函数之前,无论公私。

论坛徽章:
0
5 [报告]
发表于 2005-11-28 15:51 |只看该作者
父类---成员----该类

有父才有子----一个对象,只有它的各个成员都存在了,他才成为对象。

论坛徽章:
0
6 [报告]
发表于 2005-11-28 15:52 |只看该作者
考察构造函数的调用顺序: 父类构造函数--->成员对象构造函数----->本类构造函数, 析构函数调用顺序相反

论坛徽章:
0
7 [报告]
发表于 2005-11-28 15:58 |只看该作者
这个哥们问了N道面试题目了吧?如果我没有记错的话(老了,对自己的记忆力没有信心~~)

论坛徽章:
0
8 [报告]
发表于 2005-11-28 16:00 |只看该作者
好像是的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP