Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++从派生类指针获得基类对象?_C++_Derived Class_Superclass - Fatal编程技术网

C++从派生类指针获得基类对象?

C++从派生类指针获得基类对象?,c++,derived-class,superclass,C++,Derived Class,Superclass,假设我已导出*derivedPtr; 我想从derivedPtr中获取基本baseObject 基本baseObject=*derivedPtr;是否使用适当的基类成员变量创建baseObject 谢谢是的。这实际上被称为“切片”,因为您只需从派生类中切片所有内容。是的。这实际上被称为“切片”,因为您只需从派生类中切片所有内容。确实如此 是的 您可以使用动态强制转换来实现这一点 e、 g 您可以使用动态强制转换来实现这一点 e、 g 你不需要动态演员。您只需要将其用于从基础到派生的转换。既然OP

假设我已导出*derivedPtr; 我想从derivedPtr中获取基本baseObject

基本baseObject=*derivedPtr;是否使用适当的基类成员变量创建baseObject


谢谢

是的。这实际上被称为“切片”,因为您只需从派生类中切片所有内容。

是的。这实际上被称为“切片”,因为您只需从派生类中切片所有内容。

确实如此

是的


您可以使用动态强制转换来实现这一点

e、 g


您可以使用动态强制转换来实现这一点

e、 g


你不需要动态演员。您只需要将其用于从基础到派生的转换。既然OP想要一个新的基础对象,你根本不需要施法啊,好的,谢谢。我被教导要在太多的施法上犯错,所以有时候我会忘记什么时候是不必要的。你不需要动态施法。您只需要将其用于从基础到派生的转换。既然OP想要一个新的基础对象,你根本不需要施法啊,好的,谢谢。我被教导要犯太多的铸造错误,所以有时候我会忘记什么时候是不必要的。
Derived* obj = new Derived;
base objOne = (*obj) ;  // Object slicing. Coping only the  Base class sub-object
                        // that was constructed by eariler statement.
Base* baseObject = dynamic_cast<Base*>(derivedPtr);