C++ 向上转型:详解与示例
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.'
需要注意的是,向上转型只能访问基类的成员函数和成员变量,如果想访问派生类的成员函数和成员变量,需要进行向下转型。
原文地址: https://www.cveoy.top/t/topic/nsLT 著作权归作者所有。请勿转载和采集!