我出的C++試題

一、問答題1.請說明類的純虛函數、虛函數、靜態成員函數、普通成員函數的區別。2.什麼情況下,類的解構函式應該聲明為虛函數?為什嗎?3.對於下面的代碼:class myString;myString *pStringArray = new myString[13];以下兩種delete有什麼區別?delete pStringArray;delete []pStringArray; 二、說明題下列題目,請寫出輸出結果,並要求說明原因。4.下面的函數調用輸出什嗎?void Test(){    cha

《Effective C++ 中文版 2nd Edition》讀後感

    大學的時候學校開了C++的課程,我考的還不錯。畢業後就一直搞軟體開發,大概一年前開始用VC做項目。最近靜下心來看了C++的經典著作《Effective C++ 》,才發現自己的C++水平其實真的很一般!書中提到的有些東西,我竟然從來沒有注意過!還有些竟然是我第一次聽說!下面以執行個體說明(我用我寫的更小的例子代替了書中的例子,書中原文我用紅色標示)。1.關於類成員的初始化順序問題    條款13的標題是:initialization

C++設計模式之Factory Method

一、功能    定義一個用於建立對象的介面,讓子類決定執行個體化哪一個類。Factory Method 使一個類的執行個體化延遲到其子類。    二、結構圖  三、實現(1)在某些情況下,比如僅僅為了建立適當的Product對象而派生新的Creator子類,並且建立不同Product的方法一致時,可以考慮用模板代替繼承。如: class Creator {public:virtual Product* CreateProduct() = 0 ;};template < class

c++原廠模式探究

簡介Factory 方法,通常又被稱作虛建構函式,給一個ID,就可以產出一個對象。瞭解設計模式的人都知道這樣一份臭名昭著的實現:// ---------------------------------------------------------------------------------// Shape.henum ShapeType { ShapeType_Line, ShapeType_Triangle, };class Shape {public:    virtual

c++虛函數表探究

C++中的虛函數的作用主要是實現了多態的機制。關於多態,簡而言之就是用父類型別的指標指向其子類的執行個體,然後通過父類的指標調用實際子類的成員函數。這種技術可以讓父類的指標有“多種形態”,這是一種泛型技術。所謂泛型技術,說白了就是試圖使用不變的代碼來實現可變的演算法。比如:模板技術,RTTI技術,虛函數技術,要麼是試圖做到在編譯時間決議,要麼試圖做到運行時決議。 關於虛函數的使用方法,我在這裡不做過多的闡述。大家可以看看相關的C++的書籍。在這篇文章中,我只想從虛函數的實現機制上面為大家

.h與.c的區別和聯絡

其實要理解C檔案與標頭檔有什麼不同之處,首先需要弄明白編譯器的工作過程,一般說來編譯器會做以下幾個過程:1.預先處理階段2.詞法與文法分析階段3.編譯階段,首先編譯成純彙編語句,再將之彙編成跟CPU相關的二進位碼,產生各個目標檔案4.串連階段,將各個目標檔案中的各段代碼進行絕對位址定位,產生跟特定平台相關的可執行檔,當然,最後還可以用objcopy產生純二進位碼,也就是去掉了檔案格式資訊編譯器在編譯時間是以C檔案為單位進行的,也就是說如果你的項目中一個C檔案都沒有,那麼你的項目將無法編譯,連接器

C(HDU-1588矩陣二分快速冪)

C - Gauss FibonacciTime Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64uSubmit StatusAppoint description: System Crawler  (2011-07-23)DescriptionWithout expecting, Angel replied quickly.She says: "I'v heard that you'r a

C++通過ODBC串連資料庫

有很多種串連資料庫的方法,得一種一中的鑽研學習,這裡,我用的是一種比較基本的比較老的資料庫連接方法,就是通過微軟給提供的ODBC SQLAPI庫來串連具體的原理,我就不在這掉書袋了,大家都大體清楚,深層的就沒有研究過。先貼出直接查詢的代碼:#include <windows.h>#include <stdio.h>#include <sql.h>#include <stdlib.h>#include

由底層和邏輯說開去——c++之類與對象的深入剖析

       類是什麼,對象是什麼,  這兩個問題在各個c++書裡面都以一種抽象的描述方式,給了我們近乎完美的答案,然後我好像就知道什麼是類什麼是對象了,但是當捫心自問,類在哪兒,對象在哪兒,成員方法在哪兒,成員變數在哪兒的時候,這些定義大概只能給出一個同樣抽象的答案。      其實很大程度上我們不知道問題的答案的原因是我們沒有弄清楚我們的問題究竟是什麼. 

由底層和邏輯說開去–c++之引用的深入剖析

     在學c++的時候 我遇到的第一個問題就是這個引用,引用是什麼東西,我的c++啟蒙教科書是c++ primer plus,這本書上說的是:引用是已定義變數的別名,可以使用這個引用來表示這個變數;每當看到這句話的時候 我就有一種淡淡的的憂傷感,其實還是不懂, 這句話說的意思是說引用是個名字嗎,那麼引用佔多大記憶體呢,我把這章從頭看到尾 可惜對此隻字不提, 由此可見寫書者的誠意(至少我看不到),   本文就準備解析一下這個引用到底是個什麼東東。    

在SVN中偷偷發個LGame的C# Beta版(意味著支援WP7和XBOX之類了)

今天小弟暫時脫離閉關狀態,更新了一下LGame的SVN,更新的檔案為:LGame-0.3.3-Beta(20120229).7z所以特意上部落格說一小聲,是因為這次更新小弟偷偷在SVN中增加了LGame-0.3.3的C# Beta版本(支援Windows、XBOX、WP7等環境,如果算上Mono的存在,微調下代碼也能跑Mac(MonoDevelop)、iOS(MonoTouch)、Android((MonoDroid))等等等等(剛才看了一下,Mono支援的手機很多啊),不過這些需要額外花點¥(

Java與C#開發上的一些差異與轉換方法

此文尚未寫完,有時間逐漸補全。Java和C#存取修飾詞的差異性與轉換:在C#中,我們通常會使用到如下幾種存取修飾詞:public 訪問不受限制。protected 訪問僅限於包含類或從包含類派生的類型。internal 訪問僅限於當前程式集。protected internal 訪問僅限於當前程式集或從包含類派生的類型。private 訪問僅限於包含類型。而在Java裡,則僅有以下幾種可供調配:public  同C#一致protected 同C#一致private 同C#一致internal

也談 c 語言 字串拆分

c語言內部提供了一個函數strok,可以用來拆分字串,但在具體使用過程中,很不方便.而且還容易出錯.在我自己的項目中,寫了一段代碼,用作字串拆分,代碼如下:這個指標數組只有10個,有的樣本用的是指標的指標,我在使用中,比較喜歡這樣用,但這裡有一個問題,不能無限拆分數組,使用指標的指標即可解決.  int count=0;  char *argv[10];//上面說的就是這裡  char *cmd="array1 array2 array3"; 

在C#中實現計劃與任務

在業務複雜的應用程式中,有時候會要求一個或者多個任務在一定的時間或者一定的時間間隔內計划進行,比如定時備份或同步資料庫,定時寄送電子郵件等,我們稱之為計劃任務。實現計劃任務的方法也有很多,可以採用SQLAgent執行預存程序來實現,也可以採用Windows任務發送器來實現,也可以使用Windows服務來完成我們的計劃任務,這些方法都是很好的解決方案。但是,對於Web應用程式來說,這些方法實現起來並不是很簡單的,主機服務提供者或者不能直接提供這樣的服務,或者需要你支付許多額外的費用。  

About OpenAT FtpClient(純c實現)

 搞OpenAT開發也有一段時間了,算算這段時間,走來也不算順利。OpenAT是Wavecom公司提供的對網路,控制等進行了一系列封裝,並提供強大二次開發介面的系統平台。由於平台是封裝的,對於系統底層我們不用瞭解太多,只需要知道其工作原理就行了,這對於大部份嵌入式開發人員來說,是非常有利入門平台。但也正是由於其對系統底層進行了封裝,導致了很多限制,如:在對串口進行了流量控制後,一次只能接收120個位元組,如果要進行大資料通訊,則必須對串口進行處理。在TCP/IP及GPRS方面,Wavecom將整

關於虛擬機器主機的CC攻擊

曾經做過一段時間的虛擬機器主機服務,為客戶提供空間,一度發展還不錯,最多託管了12台伺服器 做虛擬機器主機大家都非常怕的幾個問題:1.客戶的程式超級爛,死迴圈之類的或者佔用大量CPU運算的2.訪問量超大,又不願意多買空間支援的3.有一定名氣,同行攻擊的 其中,最怕的就是第三類,一但這類客戶轉入進來,麻煩就隨之而來了,暴力的DDOS,這個攻擊是經常遭受的,這裡咱們不談這個,能發起這類攻擊的,也不是一般的攻擊人員,得有大量的肉雞。我們這裡要說的是一個最簡單卻有效CC攻擊,這種攻擊不需要發起者有多大頻

C++編譯期系列

 建構函式中的初始化列表的記憶體預設值; 說到初時化列表, 大家都會從<C++ Primer>上面發現這兩句話: 1. 效率更高; 2. 初始化列表初時化順序依據類定義的順序, 而不是依據初始化列表中的先後順序; 在<inside C++ object model>中還會發現: 3. 子類是無法在自己的初始化列表中初始化基類成員的;  為什麼高效? 為什麼要保持順序? 為什麼不能初始化基類成員?  1. C++標準: 一個對象, 它的記憶體結構是:

C# UDP Socket 遠程主機強行關閉了一個串連的處理方法

眾所周知,UDP是不需連線的,可是當實際現場使用時,如果遠程主機異常關閉,伺服器則會拋出一個異常:遠程主機強行關閉了一個串連而一但這個異常拋出後,又沒有及時處理,那麼整個UDP服務都將崩潰而不能接收任何資料處理的方法是uint IOC_IN = 0x80000000; uint IOC_VENDOR = 0x18000000; uint SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12; udp.Client.IOControl((int)SIO_UDP_

C++指標的新需求

  指標使用中的根本問題:1. 記憶體流失;2. 野指標(指標指向已經被無效的記憶體上);尤其是當多個指標指向同一個記憶體地區的時候, 哪個指標來負責析構, 是最頭疼的事情了.針對這種情況, 應該先引出指標的所有權問題:指標指向的記憶體誰來釋放, 誰就是擁有所有權.分三類情況:1. 一個指標有清晰的所有權;2. 幾個指標共有所有權;3. 一些指標只有引用權;共用所有權指標的需求:ViSharePtr m_sp1 = new ViObj;m_sp2 = m_sp1;m_sp1 = NULL;//!

C# 實現的DnsServer

很早以前就想做一個DNS伺服器,用來應用到一些特殊的環境中,比如C/S結構的簡單負載平衡,將用戶端的請求按一定方法負載到不同的伺服器上,同時對故障伺服器實現轉移等。目前這個工程實現了網域名稱的基本解析,可以完成網域名稱到IP的轉換,但距實際使用還是有一定距離的,如果要應用到實際環境中,還需要完善。工程:http://download.csdn.net/detail/xunpo/4449410

總頁數: 4314 1 .... 1847 1848 1849 1850 1851 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.