在这个问答内容中,我们需要了解一些关于指针和类的基本概念。首先,基类指针是一个指向基类对象的指针,而派生类是从基类派生出来的一个子类。在C++中,可以将基类指针指向派生类的对象,这种操作被称为“向上转型”。
以下是一个简单的示例,说明如何在目标c中将基类指针指向派生类:
#include<iostream>
class Base {
public:
void print() {
std::cout << "Base class print function"<< std::endl;
}
};
class Derived : public Base {
public:
void print() {
std::cout << "Derived class print function"<< std::endl;
}
};
int main() {
Base* base_ptr = new Derived(); // 将基类指针指向派生类对象
base_ptr->print(); // 输出 "Base class print function"
delete base_ptr;
return 0;
}
在这个示例中,我们创建了一个基类Base
和一个从Base
派生的子类Derived
。在main
函数中,我们创建了一个指向Derived
类对象的Base
类指针,并调用了print
函数。由于base_ptr
是一个Base
类指针,它只能访问Base
类的成员函数,因此调用的是Base
类的print
函数,输出结果为“Base class print function”。
需要注意的是,虽然基类指针可以指向派生类对象,但是当使用基类指针访问派生类的成员时,只能访问基类中的成员。如果需要访问派生类中的成员,需要将基类指针转换为派生类指针。
领取专属 10元无门槛券
手把手带您无忧上云