作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在这里的预期输出是“bc bvfunc b(1) dc dvfunc”,但我得到的输出是“b(1) dc dvfunc”,为什么会这样?有人可以帮帮我吗?感谢您的宝贵时间!
#include<iostream>
using namespace std;
class b {
public:
b() {
cout<<" bc ";
b::vfunc();
}
virtual void vfunc(){ cout<<" bvfunc "; }
b(int i){ cout<<" b(1) "; }
};
class d : public b {
public:
d(): b(1) {
cout<<" dc ";
d::vfunc();
}
void vfunc(){ cout<<" dvfunc"; }
};
main()
{
d d;
}
最佳答案
为了得到你想要的输出
d(){b(1); //move b(1) from initializer list and put it in a constructor.
cout<<" dc ";
仅供引用 initializer list
用于在构造函数调用默认值之前初始化
类的成员。构造函数可以覆盖这些值。
关于c++ - 为什么我得到输出 'b(1) dc dvfunc' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15050522/
我在这里的预期输出是“bc bvfunc b(1) dc dvfunc”,但我得到的输出是“b(1) dc dvfunc”,为什么会这样?有人可以帮帮我吗?感谢您的宝贵时间! #include usi
我是一名优秀的程序员,十分优秀!