作业帮 > 综合 > 作业

下列程序执行后的输出结果是B0 D00 B1 D23 D B D B,请将下列程序补充完整.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/27 13:31:24
下列程序执行后的输出结果是B0 D00 B1 D23 D B D B,请将下列程序补充完整.

 问:1,Base(int i=0) {x = i; cout<<'B'<<x<<' ';}  'B'为什么是单引号,不是双引号,去且最后的双引号是干什么用的?如果是空格的话,为什么不是双引号?
2, { cout<<"~B"<<x<<' '; }析构时为什么不是~B0呢?<<x<<怎么没输出呢?
这是C++中的代码!
'B'用单引号因为第一的 B是一个int类型的数值而不是字符类型的后面的那个' '单引号确实表示为空的!那么既然这个表达式要输出的int类型的数值,那么就不可能在一个表达式中输出字符类型的!
X没有输出结果,第一你没有给int X 赋值,X写在上面类的私有构造函数当中,我们都知道私有方法和属性只能在base类中调用,虽然说Derived这个类继承了Base类,子类应该呈现父类的特征但是仅限于公有的属性和方法,所以X一定是没有输出结果的.
打个比方就像人一样:爸爸和儿子的关系
1.儿子虽然是爸爸的儿子在某种程度上来说他们有很多相似性.DNA肯定是一样的,血型也是一样的.
2.但是你能说儿子就是爸爸吗?我们都知道不行他们之间还是存在差距的,而这个差距就是爸爸的一些私有特征,没有遗传给儿子的东西.
所以编程即是生活. 我不知道自己说是否有误,我相信各种编程语言之间它的思想都是大同小异的.
希望能够对你有所帮助!