1、c++的結構體
struct employee};
intmain()
c++結構體可以帶方法的,訪問許可權可以是public、private、protected,並且可以從類或結構體那裡繼承而來
2、c++的類
class
employee};
intmain()
c++結構體成員預設訪問級別、繼承是public,c++類成員預設訪問級別、繼承是private。
#include
using
namespace std;
//指定命名空間(防止命名衝突),std是c++標準庫使用的命名空間
cin>>i>>b>>c;
//輸入時用空白符分隔 (空格、回車或tab鍵)
cout<
setprecision(int p)設定有效數字的位數
cout<' '<' '/注意''會報錯;還有,如果設定了進製,這個進製會一直用下去,直到再次設定;
cout <<
setfill
(『$』)
<<
setw(10
)<<
10<< endl;
cout <<
setfill
(『#』)
<<
setw(10
)<<
10<< endl;
輸出結果是:
$$$$$$$$10
########10
4、結構體等可直接作為型別名,記憶體分配與刪除,引用相關
//宣告型別時
enum day
;union u
;struct student
;//定義變數時
day day;
u u;
student student1;
//記憶體的分配和釋放,new,delete
new 型別名
new 型別名(初值)
new 型別名[表示式]
int*p,
*q,*r;
p =new
int(5)
;//分配乙個整數記憶體空間,初始值為5
q =new
int;
//分配乙個整數記憶體空間,沒有初始化
r =new
int[10]
;//分配10個整數的記憶體空間,並返回該空間的首位址
//delete運算子用於釋放new運算子所分配的空間,以使得該空間能夠被重新使用。
delete 指標變數名
delete
指標變數名
s=new
int[5]
;delete
s;//引用
//對變數宣告乙個引用,編譯系統不給它單獨分配儲存單元,i和j都代表同一變數單元。
int i;
int&j=i;
//引用在初始化後不能再被重新宣告為另乙個變數的引用(別名)。
//引用做函式引數
void
swap
(int
& m,
int& n)
//▲▲▲▲▲
intmain()
//使用引用返回函式值
//使用引用可以返回函式的值,採用這種方法可以將該函式呼叫放在賦值運算子的左邊。
int a=
;int
&index
(int i)
//▲▲▲▲▲
intmain()
5、內聯函式(內建函式)
程式**現對內聯函式的呼叫時,c++編譯器直接將函式體中的**插入到呼叫該函式的語句處,同時用實參來代替形參。對於要頻繁呼叫的函式,如果其函式體中的**很短,可以將其定義為內聯函式。
inline
float
circle
(float r)
呼叫時area =
circle
(i) 直接用area=
3.1416
*i*i替代
以空間換時間的手段,在內聯函式的函式體中,不能有複雜的控制語句,如for語句和switch語句等。
為避免**過長,只有很短(如1~5條語句)且呼叫頻繁的函式才考慮定義為內聯函式。
6、函式過載
當呼叫函式名相同的過載函式時,編譯器會根據實參的型別與個數來匹配這些過載函式,以決定呼叫哪乙個過載函式。通過函式引數的型別或個數不同都能夠實現函式過載。
1. list item
//過函式引數個數不同實現函式過載
#include
using
namespace std;
double
add(
double d1,
double d2)
double
add(
double d1,
double d2,
double d3)
intmain()
//不能僅僅通過函式返回值型別的不同來區分不同的過載函式,因為在進行函式呼叫時,這兩
//個函式的呼叫形式是相同的
7、帶有預設引數的函式
int special
(int x=5,float y=5.3)
;//呼叫
special()
; // x=5, y=5.3
special
(25)
; // x=25, y=5.3
special
(100,79.8)
; // x=100,y=79.8
//所有指定預設值的引數都必須出現在不指定預設值的引數的右邊,否則出錯
//int fun
(int i, int j=5, int k)
;錯誤int fun
(int i, int k, int j=5)
;//正確
應用舉例
```css
void init (int x=5,int y=10)
int main()
//在函式呼叫時,若某個引數省略,則其後的引數皆應省略而採用預設值
9、答案僅供參考
//1
#include
using
namespace std;
intmain()
//2
#include
using
namespace std;
intmain()
//冒泡法排序
int i,j,t;
for(i=
0;i}for
(int i=
0;i)cout<<<
" ";
delete
a;}
//3
#include
using
namespace std;
struct fu};
void
swap
(fu &a,fu &b)
intmain()
//4
#include
using
namespace std;
void
fun(
short a)
void
fun(
int a)
void
fun(
double a)
intmain()
c 學習歷程3
class animal get public virtual void voice class house animal class sheep animal 多型 乙個方法多種狀態 animala newhouse animalb newsheep method a method b 如果沒虛函...
C 學習歷程 基礎部分 C 中的函式學習
本文位址 作者 sushengmiyan 一。靜態變數 區域性變數是執行緒到達定義的地方的時候進行初始化,如果定義在函式中,那麼每次函式呼叫的時候,都會進行初始化,函式的每個呼叫保留著乙個副本,對於靜態變數來說,只在第一次呼叫的時候初始化。通過下面乙個例子可以細細體會這個區別 sushengmiya...
C 學習心路歷程
這裡只記錄c 的特色地方,想來本科專攻c 跟圖形程式設計,真心沒想到半路殺出來個unity還特麼用了c 所以嘛,最近惡補這方面的東西,把跟c 相似的地方看看就好,這裡把c 的好東東都記錄下,有一些還挺有逼格的說,希望能有幸成為高手!1 params關鍵字 本關鍵字在於可變長引數的利用,比如 stat...