使用內聯函數應注意的事項 1.在內聯函數內不允許用循環語句和開關語句 ( switch)。 2.內聯函數的定義必須出現在內聯函數第一次被調用之前。 3.講到的類結構中所有在類說明內部定義的函數是內聯函數。
tips:不知道具體怎么操作的時候,最好先不要使用inline,等到完成程序的大部分功能之后,
再對符合要求的函數進行內聯操作。
成員內聯函數:
#include<iostream> using namespace std;class Atype{ public: inline void func(int,int); inline void PRint();private: int i , j ;};void Atype::func(int x,int y){ i = x ; j = y; }void Atype::print(){ cout<<"兩數相乘為:"<<i*j<<endl; }int main(){ Atype anna; int T = 100000; anna.func(1,2) ; anna.print() ; return 0 ;}我們可以把類的聲明和定義保存在一個文件中,一般是拓展名為
.hpp文件,關聯:include”xx.hpp”
# const成員函數:
如果我們不想讓某個成員函數修改成員變量的值,那可將這個成員函數聲明為const,如下面的const void print( ) 。
public:
void func const ( int x,int y){ i = x ; j = y; }
const void print( ) { cout<<"兩數相乘為:"<<i*j<<endl; }
private:
int i,j;
此時編譯器會報錯,因為func( )的兩個參數試圖修改私有成員變量i、j。 編程時,對于不應該改變對象的成員函數都應該聲明為const,
# void func ( int x,int y){ i = x ; j = y; }
const void print( ) { cout<<"兩數相乘為:"<<i*j<<endl; }
分析:由于print( )成員函數不會修改成員變量,因此將他聲明為const常量。
新聞熱點
疑難解答