欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C++中實(shí)現(xiàn)類似instanceof的方法

OpenCV學(xué)堂 ? 來(lái)源:OpenCV學(xué)堂 ? 2024-07-18 10:16 ? 次閱讀

前言

C++有多態(tài)與繼承,但是很多人開(kāi)始學(xué)習(xí)C++,有時(shí)候會(huì)面臨一個(gè)常見(jiàn)問(wèn)題,就是如何向下轉(zhuǎn)型,特別是不知道具體類型的時(shí)候,這個(gè)時(shí)候就希望C++ 可以向Java或者Python中有instanceof這個(gè)函數(shù),可實(shí)際上C++中沒(méi)有。但是別著急,其實(shí)C++中有兩種簡(jiǎn)單的方法可以實(shí)現(xiàn)類似Java中的instanceof的功能。

在 C++ 中,確定對(duì)象的類型是編程中實(shí)際需求,使開(kāi)發(fā)人員能夠做出動(dòng)態(tài)決策并執(zhí)行特定于類型的操作。無(wú)論是在編譯時(shí)檢查類型,還是在運(yùn)行時(shí)動(dòng)態(tài)標(biāo)識(shí)對(duì)象類型,C++ 都提供了強(qiáng)大的機(jī)制來(lái)獲取類型信息

使用typeid.name()方法

尋找實(shí)例的類類型,代碼演示如下:

2e1a5748-44a6-11ef-b8af-92fbcf53809c.png

使用std::is_same方法

代碼實(shí)現(xiàn)與運(yùn)行效果如下:

2e323b6a-44a6-11ef-b8af-92fbcf53809c.png

使用dynamic_cast

dynamic_cast方法轉(zhuǎn)型是C++中一種非常杰出的方法。通過(guò)dynamic_cast操作符允許跨類層次結(jié)構(gòu)動(dòng)態(tài)轉(zhuǎn)換指針和引用,從而在運(yùn)行時(shí)確認(rèn)和轉(zhuǎn)換類型。代碼演示如下:

2e559fec-44a6-11ef-b8af-92fbcf53809c.png

完整測(cè)試源代碼

 1#include
 2#include
 3#include
 4
 5usingnamespacecv;
 6usingnamespacestd;
 7
 8classVehicles{
 9public:
10stringmake;
11stringmodel;
12stringyear;
13};
14
15classAircraft{
16public:
17stringmake;
18stringmodel;
19stringyear;
20};
21
22template
23voidprintType(){
24if(std::is_same::value){
25std::cout<::value){
28std::cout<(ptrBase);
47if(ptrDerived){
48std::cout<();
64printType();
65
66return0;
67}

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4346

    瀏覽量

    62993
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2114

    瀏覽量

    73874
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4809

    瀏覽量

    85054

原文標(biāo)題:技巧 | C++中實(shí)現(xiàn)類似instanceof的方法

文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語(yǔ)言實(shí)現(xiàn)面向?qū)ο蟮姆绞?C++的class的運(yùn)行原理

    這里主要介紹下在C語(yǔ)言中是如何實(shí)現(xiàn)的面向?qū)ο?。知道?b class='flag-5'>C語(yǔ)言實(shí)現(xiàn)面向?qū)ο蟮姆绞剑俾?lián)想下,C++
    發(fā)表于 10-21 09:00 ?1173次閱讀

    C/C++調(diào)用Java不同類的靜態(tài)方法有哪些

    C/C++調(diào)用Java不同類的靜態(tài)方法有哪些?C/C++
    發(fā)表于 09-30 08:12

    學(xué)習(xí)C++方法以及C++的就業(yè)方向

    學(xué)習(xí)方向:嵌入式+人工智能嵌入式是一門技術(shù)學(xué)習(xí)目標(biāo)1.嵌入式開(kāi)發(fā)概述;(面向?qū)ο笤谇度胧介_(kāi)發(fā)角色)2.嵌入式Linux C++編程;(C++概述、C++學(xué)習(xí)
    發(fā)表于 12-24 07:32

    密碼編碼學(xué)(加密方法CC++實(shí)現(xiàn)) pdf第二版

    密碼編碼學(xué)(加密方法CC++實(shí)現(xiàn))分分三個(gè)部分。第一部分描述密碼學(xué)的常用算法和數(shù)論算法,以及這些算法的
    發(fā)表于 09-25 09:49 ?0次下載

    C++靜態(tài)分析對(duì)泛型構(gòu)件的識(shí)別與表示方法

    本文從C++靜態(tài)分析的角度出發(fā),介紹了模板和泛型構(gòu)件技術(shù)、一個(gè)C++靜態(tài)分析器實(shí)現(xiàn)對(duì)模板和基本泛型構(gòu)件的分析和識(shí)別方法、以及一種基于UML
    發(fā)表于 08-17 11:16 ?14次下載

    如何利用C++實(shí)現(xiàn)RMI功能

    由于沒(méi)有類似java的“反射”機(jī)制,標(biāo)準(zhǔn)C++實(shí)現(xiàn)RMI似乎有些困難。為C++程序員所熟悉的Boost庫(kù)雖然有RCF實(shí)現(xiàn)
    發(fā)表于 11-17 18:12 ?14次下載

    C++反編譯控制流圖優(yōu)化方法研究

    控制流分塊是反編譯系統(tǒng)基本的功能之一。介紹了控制流分塊方法,分析了C++語(yǔ)言與C語(yǔ)言的區(qū)別,指出了現(xiàn)有的控制流分塊方法用于
    發(fā)表于 11-14 10:53 ?10次下載
    <b class='flag-5'>C++</b>反編譯<b class='flag-5'>中</b>控制流圖優(yōu)化<b class='flag-5'>方法</b>研究

    C++程序在Visual_C++6.0編譯系統(tǒng)實(shí)現(xiàn)

    C++程序在Visual_C++6.0編譯系統(tǒng)實(shí)現(xiàn)。
    發(fā)表于 05-04 11:09 ?1次下載

    VISUAL C++教程之VISUAL C++的安裝和使用方法

    本文檔的主要內(nèi)容詳細(xì)介紹的是VISUAL C++教程之VISUAL C++的安裝和使用方法資料免費(fèi)下載。
    發(fā)表于 12-27 16:32 ?19次下載
    VISUAL <b class='flag-5'>C++</b>教程之VISUAL <b class='flag-5'>C++</b>的安裝和使用<b class='flag-5'>方法</b>

    EE-112:模擬C++的類實(shí)現(xiàn)

    EE-112:模擬C++的類實(shí)現(xiàn)
    發(fā)表于 05-27 16:13 ?2次下載
    EE-112:模擬<b class='flag-5'>C++</b><b class='flag-5'>中</b>的類<b class='flag-5'>實(shí)現(xiàn)</b>

    C++如何用虛函數(shù)實(shí)現(xiàn)多態(tài)

    01 — C++虛函數(shù)探索 C++是一門面向?qū)ο笳Z(yǔ)言,在C++里運(yùn)行時(shí)多態(tài)是由虛函數(shù)和純虛函數(shù)實(shí)現(xiàn)的,現(xiàn)在我們看下在C++
    的頭像 發(fā)表于 09-29 14:18 ?1736次閱讀

    虛擬機(jī)的設(shè)計(jì)與實(shí)現(xiàn):C\C++

    虛擬機(jī)的設(shè)計(jì)與實(shí)現(xiàn):C\C++
    發(fā)表于 02-21 15:10 ?0次下載

    介紹在C++實(shí)現(xiàn)回調(diào)的幾種方法

    C++的一個(gè)重要概念就是類,所以我們一般想讓類的成員函數(shù)作為回調(diào)函數(shù)(如果直接用非類的成員函數(shù)作為回調(diào)函數(shù),其實(shí)就和C語(yǔ)言中的方法一樣),但是想
    的頭像 發(fā)表于 01-18 15:09 ?3871次閱讀

    instanceof在java的用法

    instanceof是一個(gè)Java關(guān)鍵字,用于判斷一個(gè)對(duì)象是否是某個(gè)類的實(shí)例,或者是其子類的實(shí)例。 instanceof的語(yǔ)法是: object instanceof class 其中,object
    的頭像 發(fā)表于 11-21 10:25 ?2702次閱讀

    EE-112:模擬C++的類實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《EE-112:模擬C++的類實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 01-03 15:15 ?0次下載
    EE-112:模擬<b class='flag-5'>C++</b><b class='flag-5'>中</b>的類<b class='flag-5'>實(shí)現(xiàn)</b>