virtual2.h
来自「C++的一个好库。。。现在很流行」· C头文件 代码 · 共 35 行
H
35 行
/* Copyright Bruno da Silva de Oliveira 2003. Use, modification and
distribution is subject to the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http:#www.boost.org/LICENSE_1_0.txt)
*/
namespace virtual2 {
struct A
{
virtual int f() { return 0; }
virtual int f1() { return 10; }
virtual A* make_new() { return new A; }
};
struct B: A
{
virtual int f() { return 1; }
virtual int f2() { return 20; }
virtual A* make_new() { return new B; }
};
inline int call_fs(A*a)
{
int r = a->f1();
B* b = dynamic_cast<B*>(a);
return r + b->f2();
}
inline int call_f(A* a)
{
return a->f();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?