日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

基类与派生类之间的转换关系

發(fā)布時(shí)間:2025/3/19 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基类与派生类之间的转换关系 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一. 派生類到基類的轉(zhuǎn)換:

1.可以使用派生類指針初始化基類指針,同樣也可以使用派生類的引用或?qū)ο蟪跏蓟惖囊?#xff0c;注意這里提到的是對(duì)象的指針和引用而不是對(duì)象本身;
(但是,在使用基類指針(或引用)指向(或引用)派生類對(duì)象時(shí)需要注意以下幾點(diǎn)。
(1)把派生類對(duì)象的引用或指針轉(zhuǎn)換為基類引用或指針被稱為“向上”強(qiáng)制轉(zhuǎn)換(Up casting) , 這種轉(zhuǎn)換不需要顯式進(jìn)行(相反, 把基類指針或引用轉(zhuǎn)換為派生類指針或引用稱為“向下”強(qiáng)制轉(zhuǎn)換(Down casting) 。如果不使用顯式類型轉(zhuǎn)換, 這種“向下”強(qiáng)制轉(zhuǎn)換是不允許的。
(2)
向上“強(qiáng)制轉(zhuǎn)換后,通過(guò)基類指針只能訪問(wèn)派生類對(duì)象繼承自基類的數(shù)據(jù)成員,通過(guò)基類的引用也只能訪問(wèn)派生類對(duì)象繼承自基類的數(shù)據(jù)成員。

將派生類對(duì)象傳遞給希望接受基類引用的函數(shù)時(shí),不會(huì)進(jìn)行對(duì)象轉(zhuǎn)換,而是引用直接綁定到該對(duì)象,并未復(fù)制該對(duì)象;

將派生類對(duì)象傳遞給希望接受基類類型對(duì)象的函數(shù)時(shí),派生類對(duì)象的基類部分將被復(fù)制到函數(shù)的形參,派生類部分被切割;

用派生類對(duì)象調(diào)用基類的復(fù)制構(gòu)造函數(shù)和賦值操作符時(shí),也同上,即派生類對(duì)象的基類部分將被復(fù)制,派生類部分被切割;

二. 基類到派生類的轉(zhuǎn)換:

  • 基類對(duì)象到派生類對(duì)象之間的轉(zhuǎn)換是不存在的,編譯器時(shí)錯(cuò)誤,因?yàn)榛悓?duì)象只能是基類對(duì)象,它不包含也不能包含派生類的成員,如果允許基類到派生類轉(zhuǎn)換,那么就會(huì)試圖使用派生類對(duì)象訪問(wèn)不存在的成員。

  • 基類對(duì)象的引用或指針到派生類對(duì)象的引用或指針也是不存在的,不被允許的,編譯時(shí)錯(cuò)誤,原因同上。

  • 例題:

    【單選題】假設(shè)有以下定義:class Base{……};class Derived:public Base{……};Base b,*p;Derived d,*p2; 則以下語(yǔ)句中不正確的是()
    A.b=d;
    B.p=&d;
    C.d=b;
    D.p2 =&d;

    選 C;原因?yàn)榛悓?duì)象到派生類對(duì)象之間的轉(zhuǎn)換是不存在的。

    參考:添加鏈接描述

    總結(jié)

    以上是生活随笔為你收集整理的基类与派生类之间的转换关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。