51CTO博客已为您找到关于java 把子类指针赋值给父类的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及java 把子类指针赋值给父类问答内容。更多java 把子类指针赋值给父类相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
classParent{// 父类代码}classChildextendsParent{// 子类代码}publicclassMain{publicstaticvoidmain(String[]args){Childchild=newChild();// 检查子类实例if(childinstanceofParent){// 执行强制类型转换Parentparent=(Parent)child;}else{// 抛出类型转换异常thrownewClassCastException("无法将子类指针赋值给父类...
(1)将子类指针赋值给基类指针时,不需要进行强制类型转换,C++编译器将自动进行类型转换。因为子类对象也是一个基类对象。 (2)将基类指针赋值给子类指针时,需要进行强制类型转换,C++编译器将不自动进行类型转换。因为基类对象不是一个子类对象。子类对象的自增部分是基类不具有的。 执行以下代码,看看会报什么错误: 编译...
最后需要做的就是写一个函数来返回“子类指针”了——因为我们不想让用户知道子类的任何信息,所以函数不能不能直接声明成返回子类对象或者返回“子类指针”,正确的做法是声明成返回父类指针,而实际上,却是把子类指针转换成父类指针然后返回
pa->f( );//输出AB* pb=(B*)pa;//父指针pa强转化为子类指针必须有强制类型pb->f();//输出Apa=pb;//子指针pb转换为父类指针不需要强制类型pa->f();//输出Adelete pa,pb; pa=newB();//pb=(B*)new A();子指针赋给父类pb必须要有强制类型转化pa->f();//输出Bpb=(B*)pa;//父指针pa...
类型兼容---子类的对象可以给父类指针赋值 一个公有派生类的对象在使用上可以被当做基类的对象,反之禁止。 也就是说:1.派生类的对象可以赋值给基类的对象 如 B:publicA A a; B b; a= b;//语法上是允许的 2、派生类的对象可以初始化基类的引用:...
animal *an=new fish(); 疑问1:指针就是内存地址,而new fish()出来的是个对象,这么能赋值给指针那?在c++中取对象的指针操作符不是用“ &”吗? 疑问2:我为啥不可以这样写这个表达式? animal *an= &(new fish()) ;TFS | 初学一级 | 园豆:89 提问于:2014-08-27 10:28 ...
void fish::breathe(){ cout << "fish bubble" << endl;} ⼀. 基类指针和⼦类指针之间相互赋值 (1)将⼦类指针赋值给基类指针时,不需要进⾏强制类型转换,C++编译器将⾃动进⾏类型转换。因为⼦类对象也是⼀个基类对象。
1、如果你以一个"基类之指针"指向一个"派生类之对象",那么经由该指针你只能调用该基类所定义的函数 2、如果你以一个“派生类之指针”指向一个“基类之对象”,你必须先做明显的转型操作(explicit cast),这种作法很危险。 3、如果基类和派生类都定义了“相同名称之函数”,那么通过对象指针调用成员函数时,到底调用...
这样就使得父类类型的指针可以调用子类的成员函数。虚拟函数就是为了对“如果你以一个基础类指针指向一个衍生类对象,那么通过该指针,你只能访问基础类定义的成员函数”这条规则反其道而行之的设计。如果你打算将某个类作为基类,那么一定要定义一个虚析构函数。