Cpp
1.谈一下 c++ 的多态
2.虚函数表存储位置,函数指针如何访问虚函数表
struct A {
virtual void a() { std::cout << "A a()" << std::endl; }
virtual void b() { std::cout << "A b()" << std::endl; }
virtual void c() { std::cout << "A c()" << std::endl; }
int x, y;
};
using u64 = unsigned long long;
using func = void(*)();
A a{};
u64* p = (u64*)&a;
u64* arr = (u64*)*p;
func fa = (func)arr[0];
func fb = (func)arr[1];
func fc = (func)arr[2];
fa(); // A a()
fb(); // A b()
fc(); // A c()3. c++11 之后用哪三种智能指针,分别有什么应用场景,解决了什么问题
4. 构造函数、析构函数、static成员函数能否被设置为虚函数
5. 构造函数为什么不能为虚函数
Last updated