在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C++中實現類似instanceof的方法

OpenCV學堂 ? 來源:OpenCV學堂 ? 2024-07-18 10:16 ? 次閱讀

前言

C++有多態與繼承,但是很多人開始學習C++,有時候會面臨一個常見問題,就是如何向下轉型,特別是不知道具體類型的時候,這個時候就希望C++ 可以向Java或者Python中有instanceof這個函數,可實際上C++中沒有。但是別著急,其實C++中有兩種簡單的方法可以實現類似Java中的instanceof的功能。

在 C++ 中,確定對象的類型是編程中實際需求,使開發人員能夠做出動態決策并執行特定于類型的操作。無論是在編譯時檢查類型,還是在運行時動態標識對象類型,C++ 都提供了強大的機制來獲取類型信息

使用typeid.name()方法

尋找實例的類類型,代碼演示如下:

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

使用std::is_same方法

代碼實現與運行效果如下:

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

使用dynamic_cast

dynamic_cast方法轉型是C++中一種非常杰出的方法。通過dynamic_cast操作符允許跨類層次結構動態轉換指針和引用,從而在運行時確認和轉換類型。代碼演示如下:

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

完整測試源代碼

 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}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4372

    瀏覽量

    64287
  • C++
    C++
    +關注

    關注

    22

    文章

    2117

    瀏覽量

    74822
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86266

原文標題:技巧 | C++中實現類似instanceof的方法

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    C語言實現面向對象的方式 C++的class的運行原理

    這里主要介紹下在C語言中是如何實現的面向對象。知道了C語言實現面向對象的方式,再聯想下,C++
    發表于 10-21 09:00 ?1325次閱讀

    C/C++調用Java不同類的靜態方法有哪些

    C/C++調用Java不同類的靜態方法有哪些?C/C++
    發表于 09-30 08:12

    學習C++方法以及C++的就業方向

    學習方向:嵌入式+人工智能嵌入式是一門技術學習目標1.嵌入式開發概述;(面向對象在嵌入式開發角色)2.嵌入式Linux C++編程;(C++概述、C++學習
    發表于 12-24 07:32

    密碼編碼學(加密方法CC++實現) pdf第二版

    密碼編碼學(加密方法CC++實現)分分三個部分。第一部分描述密碼學的常用算法和數論算法,以及這些算法的
    發表于 09-25 09:49 ?0次下載

    C++靜態分析對泛型構件的識別與表示方法

    本文從C++靜態分析的角度出發,介紹了模板和泛型構件技術、一個C++靜態分析器實現對模板和基本泛型構件的分析和識別方法、以及一種基于UML
    發表于 08-17 11:16 ?14次下載

    如何利用C++實現RMI功能

    由于沒有類似java的“反射”機制,標準C++實現RMI似乎有些困難。為C++程序員所熟悉的Boost庫雖然有RCF實現
    發表于 11-17 18:12 ?14次下載

    C++反編譯控制流圖優化方法研究

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

    C++程序在Visual_C++6.0編譯系統實現

    C++程序在Visual_C++6.0編譯系統實現
    發表于 05-04 11:09 ?1次下載

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

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

    EE-112:模擬C++的類實現

    EE-112:模擬C++的類實現
    發表于 05-27 16:13 ?2次下載
    EE-112:模擬<b class='flag-5'>C++</b><b class='flag-5'>中</b>的類<b class='flag-5'>實現</b>

    C++如何用虛函數實現多態

    01 — C++虛函數探索 C++是一門面向對象語言,在C++里運行時多態是由虛函數和純虛函數實現的,現在我們看下在C++
    的頭像 發表于 09-29 14:18 ?1889次閱讀

    虛擬機的設計與實現:C\C++

    虛擬機的設計與實現:C\C++
    發表于 02-21 15:10 ?0次下載

    介紹在C++實現回調的幾種方法

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

    instanceof在java的用法

    instanceof是一個Java關鍵字,用于判斷一個對象是否是某個類的實例,或者是其子類的實例。 instanceof的語法是: object instanceof class 其中,object
    的頭像 發表于 11-21 10:25 ?3015次閱讀

    EE-112:模擬C++的類實現

    電子發燒友網站提供《EE-112:模擬C++的類實現.pdf》資料免費下載
    發表于 01-03 15:15 ?0次下載
    EE-112:模擬<b class='flag-5'>C++</b><b class='flag-5'>中</b>的類<b class='flag-5'>實現</b>
    主站蜘蛛池模板: 中文字幕久久精品波多野结 | 综合六月| 日本s色大片在线观看 | 天天澡天天摸天天爽免费 | 在线中文字幕第一页 | 国产色网 | 毛片免费网站 | 免费看吻胸亲嘴激烈网站 | 三级精品在线观看 | 亚洲成a人一区二区三区 | 色黄视频网站 | 极品啪啪 | 欧美成人精品福利网站 | 午夜看片 | 亚洲国产精品国产自在在线 | 99精品视频在线播放2 | 欧美一级看片免费观看视频在线 | 国产亚洲精品仙踪林在线播放 | 亚洲综合五月天婷 | eee在线播放成人免费 | 97影院午夜午夜伦不卡 | 井野雏田小樱天天被调教 | 亚洲第一永久在线观看 | 国产三级观看 | 久久97精品久久久久久久看片 | 二区三区在线 | 你懂的在线看 | 超级乱淫视频播放日韩 | 老师喂我吃她的奶水脱她胸罩 | 亚洲宅男天堂a在线 | www毛片 | 手机在线看片国产日韩生活片 | 一区二区三区欧美在线 | 91精品国产免费久久久久久青草 | 美女视频大全美女视频黄 | 狠狠色丁香婷婷综合欧美 | 2018国产大陆天天弄 | 欧美黄色免费大片 | 在线国产播放 | 天天夜夜人人 | 精品国产你懂的在线观看 |