MST

星途 面试题库

面试题:C++中虚基类关键字运用的基础问题

在C++中,使用什么关键字声明虚基类?请给出一个简单的代码示例,包含两个继承自同一虚基类的派生类,并在主函数中实例化派生类对象。
14.2万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试

在C++中,使用virtual关键字声明虚基类。

以下是示例代码:

#include <iostream>

// 虚基类
class Base {
public:
    Base() { std::cout << "Base constructor" << std::endl; }
    ~Base() { std::cout << "Base destructor" << std::endl; }
};

// 派生类1,继承自虚基类Base
class Derived1 : virtual public Base {
public:
    Derived1() { std::cout << "Derived1 constructor" << std::endl; }
    ~Derived1() { std::cout << "Derived1 destructor" << std::endl; }
};

// 派生类2,继承自虚基类Base
class Derived2 : virtual public Base {
public:
    Derived2() { std::cout << "Derived2 constructor" << std::endl; }
    ~Derived2() { std::cout << "Derived2 destructor" << std::endl; }
};

int main() {
    Derived1 d1;
    Derived2 d2;
    return 0;
}