基类指针和子类指针相互赋值

本文探讨了C++中基类指针与子类指针相互赋值的问题。基类指针不能直接赋值给子类指针,需要显式类型转换。反之,子类指针可以赋值给基类指针,这是因为子类对象包含了基类的所有信息。错误转换会导致编译错误,如`error C2440`。在内存模型中,子类对象构造时会先构造基类部分,转换后仅使用基类部分。强制类型转换需谨慎,以避免信息丢失或错误。
摘要由CSDN通过智能技术生成

首先,给出基类animal和子类fish

//==============================================================
//           animal.h
//
// begin   : 2012-06-30
// author  : zwq
// describe: 非虚函数情况下,将子类指针赋给积累指针,验证最终调用
//			 基类函数还是子类函数。
//==============================================================
#ifndef ANIMAL_H
#define ANIMAL_H

//===============================================================
//
//				  animal
//				 动物基类
//
//============================================================&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值