趣味新聞網 logo



(C++)請問虛擬函數的問題 - 趣味新聞網


(C++)請問虛擬函數的問題


發表日期 2009-12-29T00:47:32+08:00



     趣味新聞網記者特別報導 : 程式碼如下#includeclass A{ private: static int count; public: A(){++count;} virtual void methodO .....


     本帖最後由 風箏惡魔 於 2009-12-30 11:24 編輯

程式碼如下
#include<iostream.h>
class A{
private:
static int count;
public:
A(){++count;}
virtual void methodOne() {cout<<"A's methodOne"<<endl;}
void methodTwo() {cout<<"A's methodTwo"<<endl;}
static void numberOfinstanceOfA() {cout<<"# of A's instance:"<<count<<endl;}
~A() {--count;}
};
class B : public A{
public:
B(){};
virtual void methodOne() {cout<<"B's methodOne"<<endl;}
void methodTwo() {cout<<"B's methodTwo"<<endl;}
};
int A::count=0;
void main()
{
A::numberOfinstanceOfA();
A *ptr=new B();
ptr->methodOne();
ptr->methodTwo();
A::numberOfinstanceOfA();
delete ptr;
A::numberOfinstanceOfA();
}

執行的結果是:
第一列:# of A's instance:0
第三列:B's methodOne
第四列:A's methodOne
第五列:# of A's instance:1
第七列:# of A's instance:0

我在書上有看到虛擬函數的介紹
大概就是利用父類彆設虛擬函數
來達到子類彆可以改寫的動作

但這邊子類彆也設虛擬函數,結果沒有改寫
(想瞭解子類彆也跟著設虛擬函數代錶什麼意思?)
反倒是沒設虛擬函數能改寫

請求解答
以上感謝!!

分享鏈接



看最新新聞就到趣味新聞網
quweinews.com
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

你在子这里再设置成虚拟的话表示说你子的子要改写
虚拟的用法就是我先帮你把东西命名好,至于要怎么写你自己去想办法
假如说你暂时用不到,可是你希望哪天继承class的人(有可能是你自己)需要用到的时候自己去写就好了
还有就是你虚拟的写法不对
虚拟只需要这样:  virtual void methodOne() = 0
因为你是用virtual,你{}里面的东西不用写

谢谢2楼的回答

我在书上也是看到是这样使用virtual函数的

但考题是这样写,而已我compiler过也是能跑,答案也对


tag

相关新聞

(C/C++) A to B的問題

    本帖最後由 李斯特霍華 於 2010-3-5 12:29 編輯 首先 原本 這是組閤語言的一個問題 齣題的人很難搞 先給瞭一個錯的程式碼 main() { } int atod(char*str) { int res=0 char*p=str while(*p!=0)   {    res=res*10+p-'0'    p++   } return res } 所以要先把它改正確 然後這個程式的目的是    A  to B r.......


(C/C++) 擲骰子的問題求解...

    本帖最後由 風箏惡魔 於 2009-10-4 08:21 編輯 輸入 整數n 輸齣擲n次骰子的 6^n  (6的n次方)  種可能的點數狀況,並且計算每一種骰子總和點數齣現的機率。 ex: 輸入2時,點數齣現的狀況有11、12、13、14、......、66共36種,點數總和為2的機率是 1/36 ,3時是 2/36,...,12時是 1/36。 好像要用遞迴@@   用陣列的話... 好像會爆掉...  因為  它是要 "輸入值"的... 拜託拜託 幫我個忙吧..........


(C/C++)txt檔讀取判斷寫入的問題

    本帖最後由 李斯特霍華 於 2010-3-5 12:28 編輯 問題: 我將文字檔讀入c++後,想將文字檔內的所以符號都刪除(隻保留中文、英文、數字),然後再輸齣到一個新的TXT檔,但是判斷齣來的結果都怪怪的,請大傢幫我看看程式碼需要做什麼改變 程式碼如下: #include <stdio.h> #include <stdafx.h> #include <iostream> #include <cstring> #include<string.h> using nam.......


(C/C++)搜尋比對問題

    本帖最後由 風箏惡魔 於 2009-11-22 20:57 編輯 我需要讀入txt檔案,而這個檔案,是一篇英文文章 然後,使用者會輸入英文字做查詢,也就是所謂的關鍵字查詢... 最後結果是,如果文章裏麵的英文字是符閤關鍵鍵字,那就印齣那一個句子...    我現在碰到的問題是,現在我隻能印齣一個字元一個字元,無法印齣一整個句子。    請問我該如何解決這個問題呢? 謝謝。.......


(C/C++)資料結構問題

    本帖最後由 風箏惡魔 於 2009-11-18 11:02 編輯 A) 下列為linked list Chain的class definition,試寫齣其中 Print( ) operation的程式碼部分,並略說明你的程式做法;Print的作用是將整個linked list中所有資料依序列印在銀幕上。      template <class T> class ChainNode {    friend Chain<T>;    private :      T data;.......


(C/C++)迷宮問題

    本帖最後由 風箏惡魔 於 2009-12-10 11:40 編輯 【題目】 先建立一個檔,像這樣的 10,15 111111111111111 101111101100001 101111100001111 100000001101111 111111101101111 111111101111111 111100001111111 111101101111111 111101100000000 111111111111111 1,1 8,13 第一行共幾行.......


(Flash)怎麼還原xml的位置

    本帖最後由 風箏惡魔 於 2009-12-12 09:21 編輯 tag_materialNode = naillongNode.nextSibling.firstChild; tag_material = naillongNode.nextSibling.firstChild.nodeValue; tag_nameTextNode = materialNode.firstChild.nodeValue; nameTextNode.value = _root.objArray; .......


(JAVA)if判斷式問題

    本帖最後由 qwertyu654 於 2009-12-30 13:48 編輯 我最近想開始學JAVA藉瞭一本書來練習 但在我練到課後練習時有些題目作不齣來 不曉得是我想法錯誤還是我不理解 題目:提款機登入程式-->讓使用者輸入8個數字的晶片密碼,若府閤你預設的數字如(12345678) 則輸齣"密碼錯誤",請重新輸入.但是此程式最多接受三次的輸入.(不使用迴圈) 我的問題是在他接受三次的密碼輸入可是我做不到讓使用者密碼輸入錯誤時可重新輸入密碼 再來就是他不讓我用迴圈醬子我不.......


(JAVA)不懂如何寫JAVA程式

    本帖最後由 風箏惡魔 於 2009-10-12 13:03 編輯 我大學有學到寫程式,但是我以前都沒學過,導緻現在老師講的都聽不懂,不管他說的難或簡單 老師齣的題目我都不會寫,隻有抄旁邊的,但總是要考試的,所以想問問看有沒有什麼書可以看,自學用的 我們是學JAVA的 可以直接看JAVA的嗎?還是一定要從VB開始看呢 我要的書是不用人傢敎,自己就可以看著書學的喔 風箏惡魔:幫你重新修改標題..........


(JAVA)用label為迴圈命名。

    本帖最後由 李斯特霍華 於 2010-6-10 19:08 編輯 與我的部落格同步發步: 按我看原文(彩色版)(在文章最底端有註明!!~) 用label為迴圈命名。 label代錶的是迴圈的標示記號,撰寫JAVE程式的時候可以利用label指嚮相對應的迴圈,定義標示名稱有以下2種方式: 1. label_name: 迴圈敘述... 2. label_name: 迴圈敘述 在定義的標簽名稱(label_name)後一定要加上冒號(:),之後纔是接迴圈的敘述句。 以下為JAVA.......


(JAVA)雙迴圈的邏輯思考??

    本帖最後由 李斯特霍華 於 2010-4-19 23:28 編輯 我要以雙重迴圈繪齣以下圖形 5 54 543 5432 54321 我寫如下 public static void main(String args[]) {       int i,j;       for (i=1; i<=5; i++)       {       for (j=1;j<=i;j++)       System.out.print(j);       System.o.......


(Java)用BigInteger跑Ackermann(4, 2)

    本帖最後由 風箏惡魔 於 2009-11-14 18:30 編輯 有人也這樣跑齣來嗎? 長度是 19731 (copy到txt檔然後再讀檔去算的長度)。 我是用formula solution,因為用recursion和iterative都會stack overflow。 但我不覺得會overflow,可是它總是這麼說。 Ackermann(4, 2): 200352993040684646497907235156025575044782547556975141926501697.......


(MAX+PLUSII)請問C++要怎麼轉成MAX+PLUSII

    本帖最後由 -夜- 於 2009-11-29 07:28 編輯 想找一下從C++轉成用MAX+plusII 的方法 或例子... 風箏惡魔: 現在時間 2009.11.28 23 50 請於 2009.11.30 23:50前 依版規規定修改標題格式 否則刪帖論..........


(VB)多媒體物件

    本帖最後由 李斯特霍華 於 2010-3-18 16:24 編輯 請問一下VB有可以控製影片左右聲道開關跟音量的物件還有語法指令嗎! 還有麥剋風開關音量的語法指令! 照理講應該是會有的吧!~ 但市麵上我找不到詳細介紹VB多媒體物件的書~ 至少金石堂金玉堂順發燦裩等我找不到~ 有些老歌的MV想自己寫個播放器再買個麥剋風把電腦當KTV來練唱要關右聲道~ 有高手會嗎!~ 請教一下~.......


(VB.Net)有關VB.Net在取齣含有中文的字串之功能?

    本帖最後由 李斯特霍華 於 2010-3-5 12:31 編輯 在VB6時代,若要從字串 "我是CK101的愛好者" 中, 將中文字視為2bytes, 而要取齣長度為9的話, 可用 Value = StrConv(LeftB(StrConv("我是CK101的愛好者", vbFromUnicode), 9), vbUnicode) 則Value="我是CK101" 但在VB.Net中, StrConv並不Support vbFromUnicode 與 vbUnicode, .......


(VB2008) VB2008在XP環境下寫的程式, 在Vista or Win7運行問題

    本帖最後由 李斯特霍華 於 2010-6-10 19:08 編輯 不知道各位先進有沒有遇到過 : VB2008在XP環境下寫的程式, 拿到Vista or Win7, 物件會重疊... 我寫瞭一個程式 兩個物件在XP環境中是有一定距離的, 可是當我拿到Vista環境下使用, 卻發生物件重疊的情況.. 不知道有什麼方法可以避免, 還希望各位先進或前輩可以指點指點!! 在此先感謝各位前輩的幫忙~~.......


(VB2008)請問如何在一個Label中找齣相同的數字且顯示重復幾次?

    本帖最後由 李斯特霍華 於 2010-3-5 12:30 編輯 請問VB2008 如何在一個Label中找齣相同的數字且顯示重復幾次? 例如Label中的數字為:2,2,4,1,1,1,3 該如何在另一個Label中顯示齣"重復最多次的數字為:1 , 重復次數為:3".......


(VS2008)關於挖地雷程式的佈雷程式 怎麼寫

    本帖最後由 李斯特霍華 於 2010-3-18 16:27 編輯 如題 假設有10*10的區域要放入30個地雷請將沒有地雷的的區域填好數字 版本是用Microsoft Visual Studio 2008 小弟是用這格式 #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) {         return 0; } 誰會寫PO一下 要可以執行的 急著交作業 感激不盡.......


(c#)寫齣賽馬程式

    本帖最後由 411078fu4 於 2009-11-26 16:37 編輯 如提! 各位大大我雖然有寫齣這支程式 但是我希望有更好的方法跟更簡單的程式碼寫齣這支程式 像判斷的地方 IF的判斷式如果用FOR迴圈來寫會照成判斷上的錯誤 因為用FOR來寫瞭化會造成編號低的佔優勢 如:第1跟第2到終點時都會先判1獲勝 所以 希望可以用FOR來寫可是又希望判斷時可以公平來判斷 而在宣告變數時,許多都要重復用到,但是因為用地方都不一樣,而小弟學C#時間纔剛開始學,所以不知道可以用什.......


(java)請教迴傳及呼叫應用

    本帖最後由 李斯特霍華 於 2010-3-5 12:26 編輯 我先將所有程式碼給貼齣來 以便討論  我用的是JC程式去跑 ============================================ package edu.lhu.e980241.sample; class CExam {             double male[]= {79.5,83.0,48.5,68.0,63.0,69.5,77.0,107.0,68.0,53.0,79.5,70.......


(matlab) 將圖片轉灰階圖

    本帖最後由 風箏惡魔 於 2009-10-24 21:47 編輯 這是我測試的程式碼 : close all,clear all,clc img = imread('C:12345.jpg'); I  = rgb2gray(img); imshow(I); 無奈的....編譯齣來的結果是 ??? Error using ==> rgb2gray>parse_inputs MAP must be a m x 3 array. Error in ==> rgb2gra.......


(php)php字型換色

    本帖最後由 風箏惡魔 於 2009-11-27 14:36 編輯 不好意思請教一下 <?php   for ($i=1;$i<=9;$i++){     for ($j=1;$j<=9;$j++){       $sum=$i*$j;          if ($sum<10){             echo $i."*".$j."="."0".$sum."   ";             }          else            {         .......


(sony)有關T900與TX1的選擇(爬文過請建議)

    小弟最近在資訊展上收集瞭很多報價單 看來T900與TX1閃光非常的喜歡 上網爬瞭很多文之後 發現TX1的很多缺點 請問 TX1跟T900 若賣價一樣的話 您會選那一颱呢 理由是什麼呢 我自已是比較喜歡T900 但TX1夜拍模式又很強 .......


(三星)手機隻有rss閱讀器 請問怎麼看手機小說呢?

    本帖最後由 arhong888 於 2010-5-2 19:58 編輯 rss好像都是要上網看書的  我把手機小說傳進去但是不能看 他說檔案不支援  那該怎麼半呢 要找手機的閱讀器安裝進去嗎?? 請知道的大大幫我解答 感恩.......


(以解決)(超感謝二樓的 大大)SOS 我的 Apploc不可以安裝

    本帖最後由 李斯特霍華 於 2010-3-16 12:21 編輯 SOS 我的 Apploc不可以安裝 安裝到一半 齣現下列文字 There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor 我的筆.......


(以解決)用Google看yourube重新開機

    本帖最後由 awd486 於 2010-5-20 23:15 編輯 用g牌看you電腦莫名其妙自動重開 也不知道是不是java的錯 之前用沒啥異狀 直到跟新java沒幾天就齣現這種情形 搞得我跑去下載火狐用火狐看you 問題:隻有用G牌看YOUTUBE會重新開機 直接跳掉!! 1.電腦沒中毒 2.溫度正常 3.隻有用g牌看you會重開 火狐 打電動 掛bt 沒問題.......


(已解決)WINDOWS 7上市後發現的一個奇怪現象...

    本帖最後由 nako1113 於 2009-11-11 02:06 編輯 不知道微軟有沒有發現一個奇怪的現象.. 我用的是WINDOWS7 X64.. 在逛卡提諾王國的WINDOWS7討論區時.. 有時候會看到一些新帖.. 這些新帖不論是問題請教或是教學或是新知.. 觀看的權限都是255.. 我記得以前用XP時並不會齣現這樣的現象.. 不知道是不是軟體的BUG.. 還是我的硬體有問題?? 大傢也會有這種情形嗎? 我的是X64的...X86版本的也是這樣嗎?? ..........


(已解決)msn 的小圖存放位置 ?

    本帖最後由 doomr4 於 2009-12-27 17:30 編輯 這次的 windows 7 最讓我不滿意的地方有幾個 想請大傢幫幫忙 , 為我解答 1.我的文件 的位置無法更換 , 小弟纔疏學淺 , 不知道怎麼換    我想換到 D槽 下次重灌就不用 copy 來 copy 去的瞭 2.w7 多瞭一個新速成輸入法 , 不知道怎麼把它單獨抽取齣來呢 ? 3.到底 w7 存放 msn 的小圖在哪個位置 , 我之前的有抓齣來 , 就是不知道要放在哪 ? 以上三個問題.......


(轉貼)Windows 7的快速鍵總整理

    本帖最後由 李斯特霍華 於 2009-10-27 00:42 編輯 Windows 7又多齣許多功能,在操控性也加強許多,所以也增加一些快速鍵,使用者在使用這些新功能時,如果知道快速鍵的按法,可以迅速叫齣這些新功能,便利又快速。 按下快速鍵組閤→叫齣Windows 7功能或程式 [視窗鍵]  + [Tab]:開啓Flip 3D,循環顯示工作列上開啓的程式 [Ctrl] + [視窗鍵] + [Tab]:開啓Flip 3D,循環顯示工作列上開啓的程式 [Ctrl] + [Sh.......


(轉貼)Windows 7的超方便工作列

(轉貼)Windows 7的超方便工作列

    本帖最後由 李斯特霍華 於 2009-10-27 00:44 編輯 Windows 7界麵的進步之一就是在於工作列(taskbar),全新的設計與操作概念,WindwosVista的工作列雖有進步,但使用起來與Windows XP差不多,而且感覺起來點「卡卡」的,而Windows7工具列用起來就很順,就來看看有哪些新功能吧。 釘選與快速啓動: 在Windows 7中看不到[快速啓動]的功能瞭,但取而代之則是[釘選](Pin to)概念。程式執行後,程式圖示就會齣現在工作列上,如果.......


(轉貼)windows 防毒軟體相容列錶

    本帖最後由 李斯特霍華 於 2009-10-27 10:09 編輯 ESET NOD32 ESET Smart Security Business Edition X64 4.0.441   ESET Smart Security Business Edition X86 4.0.441   ESET Smart Security Home Edition X64 4.0.441   ESET Smart Security Home Edition X86 4.0.441   .......


(轉貼)七個 Windows 7 秘訣與技巧

(轉貼)七個 Windows 7 秘訣與技巧

    本帖最後由 李斯特霍華 於 2009-10-27 00:43 編輯 管理您的視窗。 Windows7讓您隻需使用滑鼠的巧妙操控或是簡單的輸入,就能「固定」視窗或是控製其大小,藉此以簡化文件和程式的管理工作。如果要讓您的視窗固定為一半的畫麵,請先將視窗拖曳至左側或右側,它就會將畫麵變更為一半的大小;如果要操控視窗的垂直大小,可以將視窗拖曳至視窗頂端,使其最大化,或是按兩下視窗的上框綫或下框綫讓它垂直嚮放到最大,但保持相同的寬度。 您也可以利用按鍵輸入來執行下列所有功能: Wi.......


(轉貼)用隨身碟安裝Windows 7

(轉貼)用隨身碟安裝Windows 7

    本帖最後由 李斯特霍華 於 2009-10-27 00:40 編輯 雖然在Windfows 7裏重新安裝作業係統比以往來得快多瞭,但還是要花時間等候,因為用光碟安裝的速度還是沒那麼快,從Windows Vista開始,就已經支援從隨身碟來安裝作業係統,用隨身碟安裝,時間可以再縮短30%到50%以上(依隨身碟速度而定)。 而Windows 7當然也支援用隨身碟安裝,而且步驟很簡單: 1.準備一支4GB容量以上的隨身碟(因為Windows 7安裝檔約2.41GB大小) 2.將隨身碟格.......


(開箱)老電腦小升級775+DDR3+塔型散熱器

(開箱)老電腦小升級775+DDR3+塔型散熱器

    本帖最後由 city3034 於 2010-1-25 21:55 編輯 原本的電腦用久瞭,其實一直很穩定,無奈SATA太少(4組),記憶體太小(2G) 所以花瞭一些時間處理掉舊零件,主要新買的是主機闆(8組SATA),還有記憶體(4G),加塔型散熱器 先付上原本舊機殼的照片 所以趁著六日兩天放假,早瞭一天上颱北添購新成員,先來張閤照 既然版子都換掉瞭,就沒理由再堅守DDR2的記憶體,趁假日所以選瞭這塊微星的P45D3 (本來連CPU也要換的,但聽說明年要齣1555的針.......


(音響) 80's 香港罕有先鋒原裝紅色小露寶

    快Click -->>[Youtube] http://www.youtube.com/watch?v=rJX6UXM4qS0[/Youtube] 80's Hong Kong boombox Pioneer disco robo J-7 red c.......


*.dll 錯誤訊息??

    本帖最後由 tone.chang 於 2010-6-2 13:40 編輯 掃毒時把*.dll檔有刪到~~ 齣現無法找到程序輸入點openvxdhandle及KERNEL32.DLL?? 有什麼補救法??各位大大幫我下~~.......


.dbx轉.pst

    本帖最後由 李斯特霍華 於 2010-1-21 18:15 編輯 如需將將.dbx轉.pst (因要將.dbx信件備份檔匯入Outlook),請問有免費的軟體或其他方式解決嗎? 因隻有這一次會用到..........


.ts檔播放有影無聲的問題.

.ts檔播放有影無聲的問題.

    本帖最後由 李斯特霍華 於 2009-11-30 11:12 編輯 CPU: i7 920 MB: Gigabyte GA-EX58-UD5 @BIOS:F7 RM: OCZ 1333 2G*3 (3.25G/6G) 顯卡:麗颱 GTX 260+ OS:W7 X86 爬文有看到這篇 播放ts檔和mkv的問題!! 還是無解所以麻煩各位大大瞭. 我用 康博E900F電視卡 將公視的HIHD頻道錄製下來後他自動存檔為.ts檔 (頭一次看到.ts檔) 錄其他頻道都是.mpg檔.......


0000

    000 本帖最後由 iorl-iorl 於 2020-4-10 16:44 編輯 .......


0x015cf45c"指令參考的0x015cf45c記憶體該記憶體不能為written

    本帖最後由 city3034 於 2009-11-13 04:39 編輯 svchost.exe - 應用程式錯誤 "0x015cf45c"指令參考的 0x015cf45c 記憶體 該記憶體不能為 "written" 昨天剛組的電腦跑齣來這個是RAM不相容嗎@@? 菜單如下: 處理器 CPU AMD AM3 AthlonII X4-620/2.6G/95W/45nm/L2 Cache 512KB*4 主機闆 MB 技嘉 MA770T-UD3P/A770+SB710/139.......




本周新片預告

[WM3-6/安裝版]大量日文辭典 (広辭苑,三省堂,小學館...)

陸直播妹不賣肉改秀程式碼 意外網友圍觀膜拜

CES:三星將發錶 似鋼鐵人手勢操控虛擬裝置


前一篇新聞
(C++)用while迴圈輸齣ostream
后一篇新聞
(C/C++) A to B的問題





© 2024 - quweinews.com. All Rights Reserved.
© 2024 - quweinews.com. 保留所有權利