原文:C++的子类与父类强制转换产生的问题

近日,在项目的一个类中如果碰上想要将子类强制转换成父类,然后再调用其父类版本的virtual虚函数。 就会出现gcc编译错误提示:error: ld returned exit status gcc提示原因:在link过程中,发现了无法找到的reference symbol, 该reference symbol是此父类的拷贝构造函数。 由此,我推断问题的原因是:在子类转换成父类的过程中,默认地调用 ...

2015-03-06 15:37 0 5049 推荐指数:

查看详情

关于子类父类对象强制转换问题

子类对象可以赋值给父类对象; 子类包含的成员方法和成员变量 要比 父类的多; 子类包含父类的成员方法和成员变量; 对于类对象的强制转换,也就是说,必须先将子类定义的对象赋给父类定义的对象之后才能用子类强制转换 赋给 新的子类对象 class AA{ AA ...

Tue Oct 24 18:28:00 CST 2017 0 1404
c/c++ 继承与多态 由子类父类转换规则

问题1:子类B可以有3种方式(public, protected, private)继承父类A,用哪种方式继承,用户代码才能把子类B的对象转换父类A的对象呢? 只用当子类B以public方式继承父类A后,在用户代码里,才能把子类B的对象转换父类A的对象。 原因如下: 下面 ...

Wed Jan 02 21:41:00 CST 2019 0 1385
Java中父类强制转换子类的可能

之前徒弟问了一个问题, 在Java中, 父类对象到底能不能转换成对应的子类对象? 到底能不能, 今天就来说说这个问题, 先看下面一段代码: 上面代码注释掉的两行是会运行错误的. 根据代码显示, 只有我们的父类对象本身就是用子类new出来的时候, 才可以在将来被强制转换子类对象 ...

Fri Sep 04 03:57:00 CST 2015 9 33567
c++ 子类父类之间的类型转换

子类父类之间的类型转换 先给一段代码 1、对象类型不存在类型转换 2、子类的指针或引用转为父类的指针或引用:子类--->父类 不是子类的指针或引用就能转为父类的指针或引用,前提条件是子类的指针或引用在当前域(域内:类体类->成员函数和友元函数 域外:类体外)能够访问 ...

Fri Dec 03 07:22:00 CST 2021 0 2523
C++类型父类子类转换--dynamic_cast

参考:https://www.cnblogs.com/QG-whz/p/4517336.html dynamic_cast主要用于“安全地向下转型” dynamic_cast用于类继承层次间的指针或引用转换。主要还是用于执行“安全的向下转型(safe downcasting ...

Mon Mar 04 01:10:00 CST 2019 0 1166
关于C++子类调用父类方法的一个问题

在写代码时遇到了以下类似情况: 情况是,如果子类中的函数调用了父类的方法,而这个父类的方法调用了一个方法,这个方法同时在子类父类中都有定义。输出结果为: 可见在还是父类的方法被调用了。这可能是非虚函数在编译器时期就已经确定调用函数地址的原因吧。 ...

Tue Jul 10 04:43:00 CST 2012 0 35008
[java]Java中父类强制转换子类的原则

Java中父类强制转换子类的原则:父类型的引用指向的是哪个子类的实例,就能转换成哪个子类的引用。 例: 打印结果:The boy were eating 原因:当Boy实例化后将引用地址返回传给person,这时person引用实际指向的是Boy,所以将person转换成Boy能成 ...

Mon Apr 13 05:07:00 CST 2020 0 4758
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM