強制型別轉換(C++學習筆記 13)
無論是強制轉換或是自動轉換,都只是為了本次運算的需要而對變數的資料長度進行臨時性轉換,這並不改變該變數的型別。
一、 C語言中強制型別轉換的一般形式為:
(資料型別)表示式
例1: 求x與2進行取餘運算。
(int) x % 2
因為取餘運算的運算元必須是整數,如果x是實數型別,它是不能做%運算的,所以將x的型別強制轉換為整型,然後與2進行取餘運算。
例2: 計算7÷2的值。
int x=7,y=2;
float z=(double)x/y;
二、C++中強制型別轉換有兩種格式:
例如,把一個整型數轉換為雙精度型數:
1、例3:
int i=10 ;
double x=(double)i;
2、例4: C++還提供了一種類似函式呼叫的格式,使得型別轉換的執行看起來好像是呼叫了一個函式。
int i=10;
double x=double(i);
C++的話,推薦使用第二種方式,類似函式呼叫的方式。
相關推薦
強制型別轉換(C++學習筆記 13)
無論是強制轉換或是自動轉換,都只是為了本次運算的需要而對變數的資料長度進行臨時性轉換,這並不改變該變數的型別。 一、 C語言中強制型別轉換的一般形式為: (資料型別)表示式 例1: 求x與2進行取餘運算。 (int) x % 2 因為取餘運算的運算元必須是整數,如果x是實數
常型別(C++學習筆記 30)
因為程式中各種形式的資料共享,在不同程度上破壞了資料的安全性。引入常型別的目的是,為了保證資料共享又防止資料被改動。 常型別是指使用型別修飾符 const 說明的型別,常型別的變數或物件成員的值在程式執行期間是不可改變的。 本文將從三方面入手:常引用、常物件和常物件成員。
類的自動轉化和強制型別轉換(C++)
可以將類定義成與基本型別或另一個類相關,使得從一種型別轉換為另一種型別是有意義的。 當一個類的建構函式中,有隻有接受一個引數的建構函式,這個建構函式就能作為轉換函式。 #pragma once #ifndef STONEWT_H_ #define STONEWT
函式的過載(C++學習筆記 9)
C語言不允許過載 在傳統C語言中,函式名必須是唯一的,也就是說不允許出現同名的函式, 例如,當要求編寫求整數、長整型數和雙精度數的二次方的函式時,若用C來處理,必須編寫3個函式,這3個函式的函式名不允許同名。例如: Isquare( int i ); //求整數的二次方
帶有預設引數的函式(C++學習筆記 8)
例如,有一個函式原型說明為: int special( int x=5, float y=5.3 ); 則x與y的預設引數值分別為5與5.3。 special (100, 79.8 ) //x=100,y=79.8 special(25) //相當於special( 25, 5.3
函式原型(C++學習筆記 7)
C語言中函式原型的宣告(C++中也類似) 1、“先定義,後呼叫” 比如說把要被呼叫的函式放在main( )函式前面,符合 “先定義,後呼叫”的原則。這樣在編譯時,當主調函式中進行函式呼叫時,編譯器已經知道該函式需要哪些引數、返回值的型別是什麼。但是把main( )函式放到最後的做法使程式
const修飾符、const與指標一起使用(C++學習筆記 6)
一、 在C++中使用const修飾符來定義常量。(const來自單詞constant,是常量的意思) 用法:const 型別 常量名 = 表示式; 例如:const int LIMIT = 100; 這個常量LIMIT是有型別的,佔用儲存單元,有地址,可以用指標指向它,但不能修改它。
C++的靈活的區域性變數宣告(C++學習筆記 5)
C語言中根據變數的作用域可以把變數分為兩種:區域性變數和全域性變數。 區域性變數:在一個函式內部定義的變數是內部變數,它只在本函式範圍內有效,即只有在本函式內才能使用它們,在此函式外是不能使用這些變數的,這樣的變數成為區域性變數。 區域性變數的特點: (1)主函式main中定義的變數也是
認識C++(C++學習筆記 4)
目前主要參考的書是《C++ Primer》第三版 學校上課用的是《C++面向物件程式設計教程》第三版 一、 C++的起源 C語言的侷限性: 型別檢查機制相對較弱,使得程式中的一些錯誤不能再編譯階段由編譯器檢查出來 幾乎沒有支援程式碼重用的語言結構
C++的終端輸入和輸出(C++學習筆記 3)
C++和C的輸入輸出方面的不同 在C中輸入和輸出,常使用函式scanf和printf。 C++除了可以照常使用這兩個函式進行輸入和輸出外,還增加了標準輸入流物件cin(念 see-in)和標準輸出流物件cout(念 see-out) scanf("%d",i); printf
C++陣列(C++學習筆記 2)
陣列(array) 陣列是相同型別元素的集合。例如,整型陣列,字串陣列等。 陣列是一種順序容器,它包含單一型別的元素。 C++資料型別 c++中資料型別分為兩種:預定義型別和自定義資料型別。 預定義型別:即預先定義的基本內建資料型別。 自定義資料型別:允許使用者進行資料型別的
C++檔案輸入和輸出(C++學習筆記 1)
為了開啟一個檔案供輸入或輸出,標頭檔案需要包括 #include<iostream> 和#include<fstream> iostream庫除了支援終端輸入輸出,也支援檔案的輸入和輸出。 1. 開啟一個輸出檔案 必須宣告一個ofstream型別的物件,來
記憶體管理函式(C++學習筆記 14)
一、C語言中的記憶體管理函式 記憶體分配函式主要有malloc( )和calloc( ),記憶體釋放函式是free( )。 這兩類函式的原型在stdlib.h中,要使用這些函式時,首先要用檔案包含: #include"stdlib.h" 或#include<stdli
引用(C++學習筆記 15)
一、引用的作用 建立引用的作用是為變數另起一個名字,變數的引用通常被認為是變數的別名。 對變數宣告一個引用,並不另外開闢記憶體單元,變數 i 和引用 j 佔用記憶體的同一位置,當 i 變化時,j 也隨之變化, 反之亦然。 二、引用的格式 型別 &引用名=已定義的變數名;
指標(C++學習筆記 12)
記憶體將每個位元組作為一個儲存單元,並給每個儲存單元指定一個編號作為其地址。 系統給不同資料型別分配的儲存空間大小是不一樣的,如:整型變數分配2個位元組的儲存空間;double型變數分配8個位元組;字元型變數分配1個位元組。 變數的地址:因為一個變數的儲存空間要連續佔用若
指標與陣列(C++學習筆記 11)
一、指向陣列元素的指標 1、定義指向陣列元素的指標 每個陣列元素相當於一個變數,所以定義指向陣列元素的指標與定義指向變數的指標方法相同。例如: int ia[5]; /*定義包含5個數組元素的整型陣列ia*/ int *pi; /*定義指向整型變數的指標變數pi*/ p
作用域運算子 “::”(C++學習筆記 10)
通常情況下,如果有兩個同名變數,一個是全域性的,另一個是區域性的,那麼區域性變數在其作用域內具有較高的優先權,它將遮蔽全域性變數。 如果希望在區域性變數的作用域內使用同名的全域性變數,可以在該變數前加上“::”,此時::avar代表全域性變數,“::”稱為作用域運算子。 例1: 全域
派生類與繼承(C++學習筆記 31)
① 繼承,就是從先輩處得到屬性和行為特徵,類的繼承就是新的類從已有類那裡得到已有的特性。 ② 類的派生,即可看作從已有類產生新類的過程。由已有類產生新類時,新類便包含了已有類的特徵,同時也可以加入自己的新特性。 ③ 已有類稱為 基類 或 父類 ,產生的新類稱為 派生類 或 子類。
類的組合(C++學習筆記 29)
計算機硬體可構成計算機硬體類。計算機硬體類的資料成員有型號、CPU引數、記憶體引數、硬碟引數、廠家等。其中的資料成員“ 廠家 ”又是計算機公司類的物件。這樣,計算機硬體類的資料成員中就可以有計算機公司類的物件,或者反過來說,計算機公司類的物件又是計算機硬體類的一個數據成員。這樣,當生
派生類的建構函式和解構函式(C++學習筆記 32)
引入繼承的目的:①派生類繼承了基類的成員,實現了原有程式碼的重用。②實現程式碼的擴充,只有在派生類中通過新增新的成員,加入新的功能,類的派生才有實際意義。 基類的建構函式和解構函式不能被繼承,在派生類中,如果對派生類新增的成員進行初始化,就需要加入派生類的建構函式,同時,對所有從基類