首页 > 试题广场 >

以下代码关于constexpr虚函数(C++20),哪项正确

[单选题]
以下代码关于constexpr虚函数(C++20),哪项正确?
struct Base {
constexpr virtual int value() const { return 1; }
};
struct Derived : Base {
constexpr int value() const override { return 2; }
};
constexpr int test() {
Derived d;
Base& b = d;
return b.value();
}
static_assert(test() == ?);
  • static_assert(test() == 1) 通过
  • static_assert(test() == 2) 通过
  • 编译错误,虚函数不能是constexpr
  • 编译错误,constexpr函数中不能使用多态
基类可以直接引用派生类,只能访问从基类继承的成员,如果基类有虚函数,那么调用时是派生类的函数
发表于 2026-04-13 20:25:12 回复(0)