C++ 知识要点
1.類與對象
類是事物的抽象。類的對象就是類的具體化,實際化
2.C++三大特性
繼承、封裝、多態(tài)
3.C++父類與子類繼承過程中,子類的特點?
子類擁有父類的所有屬性和行為
子類就是一種特殊的父類
子類對象可以當作父類對象使用
子類中可以添加父類沒有的方法和屬性
4.C++過程中多態(tài)是怎么實現(xiàn)的?
1:用virtual關鍵字申明的函數(shù)叫做虛函數(shù),虛函數(shù)肯定是類的成員函數(shù)。
2:存在虛函數(shù)的類都有一個一維的虛函數(shù)表叫做虛表,類的對象有一個指向虛表開始的虛指針。虛表是和類對應的,虛表指針是和對象對應的。
3:多態(tài)性是一個接口多種實現(xiàn),是面向對象的核心,分為類的多態(tài)性和函數(shù)的多態(tài)性。
4:多態(tài)用虛函數(shù)來實現(xiàn),結合動態(tài)綁定.
5:純虛函數(shù)是虛函數(shù)再加上 = 0;
6:抽象類是指包括至少一個純虛函數(shù)的類。
純虛函數(shù):virtual void fun()=0;即抽象類!必須在子類實現(xiàn)這個函數(shù),即先有名稱,沒有內容,在派生類實現(xiàn)內容。
5.C++多態(tài)的實現(xiàn)方式有幾種?
第一種是函數(shù)重載;第二種是模板函數(shù);第三種是虛函數(shù)
(1)靜態(tài)多態(tài)(重載,模板)
是在編譯的時候,就確定調用函數(shù)的類型。
(2)動態(tài)多態(tài)(覆蓋,虛函數(shù)實現(xiàn))
在運行的時候,才確定調用的是哪個函數(shù),動態(tài)綁定。運行基類指針指向派生類的對象,并調用派生類的函數(shù)。
虛函數(shù)實現(xiàn)原理:虛函數(shù)表和虛函數(shù)指針。
純虛函數(shù): virtual int fun() = 0;
6.C++多態(tài)的作用
(游戲程序實例)在面向對象的程序設計中,使用多態(tài)能夠增強程序的可擴充性,即程序需要修改或增加功能時,只需改動或增加較少的代碼
7.繼承的作用
1、繼承可以減少重復的代碼。比如父類已經(jīng)提供的方法,子類可以直接使用,不必再去實現(xiàn)。
2、繼承是多態(tài)性的前提。當然使用繼承的同時也提高了類的耦合度
8.繼承實現(xiàn)的方式
C++繼承的一般語法為:
class 派生類名:[繼承方式] 基類名{
派生類新增加的成員
};
9.什么是派生類?
派生類應該是指子類的子類
子類是指直接繼承基類的類;
其中子類也是派生類,但是派生類一般是指子類的子類、孫子類、曾孫子類等等
10.C++中支不支持多重繼承?
支持
1,一個子類可以擁有多個父類;
2,子類擁有所有父類的成員變量;
3,子類繼承所有父類的成員函數(shù);
4,子類對象可以當作任意父類對象使用
class C:public A, public B{
};
11.繼承權限問題
public、protected、private 指定繼承方式
不同的繼承方式會影響基類成員在派生類中的訪問權限。
public繼承方式
?基類中所有 public 成員在派生類中為 public 屬性;
?基類中所有 protected 成員在派生類中為 protected 屬性;
?基類中所有 private 成員在派生類中不能使用。
protected繼承方式
?基類中的所有 public 成員在派生類中為 protected 屬性;
?基類中的所有 protected 成員在派生類中為 protected 屬性;
?基類中的所有 private 成員在派生類中不能使用。
private繼承方式
?基類中的所有 public 成員在派生類中均為 private 屬性;
?基類中的所有 protected 成員在派生類中均為 private 屬性;
?基類中的所有 private 成員在派生類中不能使用。
12.C語言和C++的區(qū)別
面向過程就是分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實現(xiàn),使用的時候一個一個依次調用就可以了。
面向對象是把構成問題事務分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。
13. C++封裝
數(shù)據(jù)封裝是一種把數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)捆綁在一起的機制,數(shù)據(jù)抽象是一種僅向用戶暴露接口而把具體的實現(xiàn)細節(jié)隱藏起來的機制。
C++ 通過創(chuàng)建類來支持封裝和數(shù)據(jù)隱藏(public、protected、private)。我們已經(jīng)知道,類包含私有成員(private)、保護成員(protected)和公有成員(public)成員。
輸入學號,輸出學號的后三位,并輸出并求出0到后三位之前數(shù)的和
#include<iostream> #include<string.h> using namespace std;int main() {char s[20];cin>>s;int len=strlen(s);int num=0;for(int i=len-3; i<=len-1; i++) {num*=10;num+=s[i]-'0';}cout<<num<<endl;if(num%2==0)cout<<(num/2)*(num+1)<<endl;else {cout<<(num/2)*(num+1)+(num/2+1)<<endl;}}總結
- 上一篇: 邵阳悦江清华楼盘地址在哪里?
- 下一篇: p站上不去还有什么站(p站上不去)