C++ 向上转型指的是将派生类对象转换为基类对象的过程。在 C++ 中,基类指针可以指向派生类对象,这是因为派生类包含了基类的成员变量和成员函数,所以可以将派生类对象当作基类对象来使用。

例如,假设有一个基类 Animal 和一个派生类 Dog,代码如下:

class Animal {
public:
    virtual void speak() {
        cout << 'I am an animal.' << endl;
    }
};

class Dog : public Animal {
public:
    void speak() {
        cout << 'I am a dog.' << endl;
    }
};

现在创建一个 Dog 对象,并将其向上转型为 Animal 对象:

Dog dog;
Animal *animal = &dog;

这样就可以使用基类 Animal 的成员函数了:

animal->speak(); // 输出'I am a dog.'

需要注意的是,向上转型只能访问基类的成员函数和成员变量,如果想访问派生类的成员函数和成员变量,需要进行向下转型。

C++ 向上转型:详解与示例

原文地址: https://www.cveoy.top/t/topic/nsLT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录