C++ 虚拟成员函数与非虚拟成员函数
示例
具有虚拟成员功能:
#include <iostream>
struct X {
virtual void f() { std::cout << "X::f()\n"; }
};
struct Y : X {
//在此处再次指定虚拟是可选的
//因为可以从X::f()推断出来。
virtual void f() { std::cout << "Y::f()\n"; }
};
void call(X& a) {
a.f();
}
int main() {
X x;
Y y;
call(x); // outputs "X::f()"
call(y); // outputs "Y::f()"
}没有虚拟成员函数:
#include <iostream>
struct X {
void f() { std::cout << "X::f()\n"; }
};
struct Y : X {
void f() { std::cout << "Y::f()\n"; }
};
void call(X& a) {
a.f();
}
int main() {
X x;
Y y;
call(x); // outputs "X::f()"
call(y); // outputs "X::f()"
}
热门推荐
1 送米的祝福语简短
6 送大三祝福语简短
8 天仓节祝福语简短
10 亲人提车祝福语简短
11 结婚祝福语简短精彩短句
12 小孩生日送花祝福语简短
13 冬至祝福语简短情话高级
14 CAD考试祝福语毕业简短
15 巧克力情侣祝福语大全简短
16 小朋友上学祝福语简短
17 开丁大吉祝福语 简短
18 喜得孙子的祝福语简短