我一直對C 中的虛擬函式,建構函式,繼承,派生之類的感到頭痛,感覺很亂,好像大多數程式都要用到這些

2023-01-15 11:05:46 字數 851 閱讀 2689

1樓:匿名使用者

1.c++語言從c發展而來,它最引以為傲的特點就包括類的多型性,也就是你說的虛擬函式,c++的多型實現包含三個基本要素:類的繼承層次、類的引用跟指標、基類必須有虛擬函式,在滿足這三個條件的前提下,c++實現了動態型別識別然後根據實際型別呼叫虛擬函式。

說起來似乎挺複雜,其實道理很簡單,就是為了根據實際物件型別選擇函式呼叫。

2.建構函式、繼承、派生是實現c++物件導向程式設計的基礎(oop),這是c++在c的基礎上加上的最有優勢的語言特性,c是程序導向程式設計,注重演算法,而c++創造了類後,是物件導向程式設計,注重資料。

另外派生可以大大的節約時間,免去很多重複的**開發工作。

3、c++除了物件導向,還有另外一個鮮明的特點:通用性程式設計。也就是使用模板程式設計,樓主可能還沒有學習到模板這兒,不過在熟悉了類的使用之後,下一步就需要掌握模板了。

按從容易到難:

《c++ primer plus》第五版、 《c++ primer 》第四版、《thinking in c++》、《資料結構》c++版、《程式設計之美》、《演算法導論》

這些看完之後,就可以根據你的需要偏重專案的需求看書了,比如可以看看mfc開發的書等等。

2樓:搖錢樹

可以看看c++ prime plus,挺好的

3樓:石樞

推薦你先看一本基礎的c++書籍,比如c++primer,介紹基本的語法的,然後如果熟悉之後,可以看一下effective c++,覺得看懂了,再看深入探索c++物件模型。

如果把這些書都看懂了,應該對c++中物件導向的特性比較熟悉了。

4樓:非洲難民

我有這些總結資料,你要不要?

c 中拷貝建構函式和賦值運算子過載本質上一樣麼

本質不一樣,語法上也不一樣 他們的區別 拷貝建構函式是在一堆原始的記憶體上建立起一個物件。複製運算子過載是在已初始化的物件上進行復制。複製構造函 數接受單個類型別引用形參,這個形參一般用const修飾。class a 一般的類,編專譯器合成的建構函式就能完成屬必要的工作。擔當類有一個資料成員是指標,...

一道C 程式設計題 主要是建構函式的問題

b被定義為static全域性變數,也就是函式退出時並不釋放空間,也就是函式結束時仍保留其值,定義x1,y1是呼叫預設建構函式procount 和procount int x1 原來b被賦值為10,呼叫建構函式時分別b 和b a,即main函式最後呼叫show時,b應該 21!1.b是靜態變數.2.建...

C語言 我使用子函式將指標變數中的指標進行交換,但是為什麼所指向的變數卻沒有變?程式如下

c語言中的任何函式形參都是值傳遞 所謂引用傳遞,不過是指標的值傳遞而已。你的函式做的工作只是交換函式中的兩個臨時變數a和b的值,結果不會影響到外部的實參pa和pb。如果想要交換兩個指標的值,你的形參應該為兩個二級指標。c語言,指標,函式 為什麼在函式中改變了指標主函式依舊不變?書上給的看不是太懂 c...