1樓:小丁創業
這個操作符是兩個操作符組成的,乙個是點「.」乙個是星「*」。這兩個操作符在
回c++中都有自己的作用,
答主要用處為:
(1)「.」是成員呼叫。
(2)「*」為取位址處的值.
「.*」在一起連續使用的情況有很多,例如:
class ob
ob temp;
「.*」兩個操作符連在一起被稱為乙個操作符的情況只有一種,就是在成員函式指標的呼叫上。
2樓:匿名使用者
這個操作copy
符是兩個操作符組成bai的,乙個是點.乙個是du星*這兩個操作符在zhic++中都有自己的作用.主要用處一般dao.
是成員呼叫,*為取位址處的值.而.*在一起連續使用的情況有很多.
比如class ob
ob temp;
temp.*p;呼叫成員p指標處的值.
但是.*兩個操作符連在一起被稱為乙個操作符的情況只有一種,那就是在成員函式指標的呼叫上.
成員函式指標與普通函式指標有很大差別,所以c++為成員函式指標制定了一系列操作符.*就是其中乙個.還是舉例說明一下吧,我來想想怎麼舉....
class ob
};//類ob內有函式func;
typedef void(ob::*pobfunc)();//成員函式指標型別
pobfunc p=&ob::func;//定義成員函式指標p指向函式func
ob temp;//定義ob類物件temp
(temp.*p)();使用物件temp加上.*運算子呼叫p指向的成員函式
有問題再追問
c++中 .* 運算子
3樓:匿名使用者
樓上的都錯了,樓主說的是成員指標運算子.*,而不是*成員指標運算子在指標運算子的基礎上限定了變數的適用範圍是類或結構體的成員變數或成員函式指標
下面有段**就使用了成員指標運算子:
#include
class claa
double fx(double x)
};void main()
4樓:匿名使用者
#include
int main(void)
5樓:匿名使用者
我想問一下樓上的大哥,你的p 和*p不會衝突嗎?事先並沒有定義p是什麼
cout<<"adress of a is "<輸出p指向a?可是你要輸出的是p的值。。。並不是*p啊
int a(2),*p 這句說明 a是整型 指標式*p我是初學者 請勿見怪
6樓:靈魂的鼬
這個你說的是指標吧 !
誰知道c++中::是什麼運算子?還有具體的用法?
7樓:匿名使用者
(1)表示「域操作符」
例:宣告了乙個類a,類a裡宣告了乙個成員函式void f(),但沒有在類的宣告裡給出f的定義,那麼在類外定義f時,
就要寫成void a::f(),表示這個f()函式是類a的成員函式。
(2)直接用在全域性函式前,表示是全域性函式
例:在vc裡,你可以在呼叫api 函式裡,在api函式名前加::
(3)表示引用成員函式及變數,作用域成員運算子例:system::math::sqrt() 相當於system.math.sqrt()
8樓:愛發問的後進生
作用域操作符 用來說明後邊的是在前邊的作用域內 前邊的不一定是類 也可以是命名空間
c++語言中「?」和「:」是什麼運算子?
9樓:雲南新華電腦學校
條件運算子該運算子是 ? : 表示式
為:表示式1?表示式2:表示式3
先求解表內達式1,
若其值為真(容非0)則將表示式2的值作為整個表示式的取值,否則(表示式1的值為0)將表示式3的值作為整個表示式的取值。
例如:max=(a>b)?a:b
就是將a和b二者中較大的乙個賦給max。
10樓:倒霉熊
條件運算bai符
該運算子是du ? : 表達
式zhi為:表示式1?表示式dao2:表示式3先求解內表示式1,
若其值為真
容(非0)則將表示式2的值作為整個表示式的取值,否則(表示式1的值為0)將表示式3的值作為整個表示式的取值。
例如:max=(a>b)?a:b
就是將a和b二者中較大的乙個賦給max。
11樓:我試著流氓一點
準確名字記不清了,條件運算子:
logic ? value1 : value2;
表達的意思是logic為true嗎?如果是,返回value1,否則返回value2
12樓:匿名使用者
雙目運算子,比方說(a>b)?a:b 如果a>b為真結果為a,為假結果為b。
c++中 .* 運算子叫什麼名字?
13樓:匿名使用者
這個是指向成員選擇運算子,是針對類物件的指向成員操作符的指標,還有乙個針對類物件指標的指向成員操作符的指標->*
用法:class test
};//定義指向類test的成員函式的函式指標並以成元函式func初始化
test t;
(t.*pf)();//使用函式指標呼叫函式,等同於直接呼叫t.func();
test *pt;
(pt->*pf)();//等同於pt->func();
c++中的運算子「 ?: 」是什麼關係?
14樓:**夢幻
a?b:c
如果a非0(或者a為真),則整個表示式表示b;否則表示c比如int t = (5 > 3):11:12那麼t等於11
如果int t = (5 < 3) : 11:12那麼t等於12
15樓:匿名使用者
等同於if(a>b)else
a>b ? 表示式1 : 表示式2
等同於縮寫
16樓:闖
三目運copy算符是?:結構的運算
所謂三目就是需要三個變數對能進行運算的操作舉個例子:
2>1?a:b
答案就是a
先算「?」前面的,若前面成立就執行:前面的(a),反之就執行後面的(b)
再舉個簡單的例子:
a=2>1?3:4
可分成幾個部分,用括號分開:
(a=)(2>1)?(3):(4)
最左邊是賦值操作
第二個部分是乙個判斷
第三和第四部分是兩個常數
首先判斷第三部分是否成立,成立即選擇第三部分,否則選擇第四部分像上面那個2>1成立,所以就執行了a=3
這種運算還可以巢狀
比如判斷year是不是閏年,是則返回1,不是返回0year=(year%100==0)?(year%400==0?1:0):(year%4==0?1:0)
17樓:dota要有平常心
(條件) ? (返回值1) : (返回值2)
條件成立(真) 返回 1
條件不成立(假) 返回2
18樓:匿名使用者
a>b?a:b
問號表示式
如果a>b,則取a,反則取b
19樓:匿名使用者
a?b:c
如果滿足a 則為b 否則為c
舉例:sum+=3>4?10:134 sum+=134;
c++中"~"是什麼運算子?
20樓:紅燒牛肉
按位取反,用於2進製運算。析構函式前也有這個符號,但沒有特殊意義。
21樓:匿名使用者
按位取反,類析構函式名前使用
22樓:匿名使用者
~是按位bai取反,或者析構du函式前
至於相反數,怎麼說zhi呢.他是針對於二進dao制而言的內求反,,也就是說你不容能用十進位制去理解
比如二進位制1000求反是0111 但轉化為十進位制就行不通,呵呵,,很抱歉之前打錯了~~1000的取反是0111...不要少了第乙個0,這很重要的,不僅關乎著大小,因為如果你是有符號位的話還包括了正負的~~
c中是什麼運算子,C中是什麼運算子
按位取反,用於2進製運算。析構函式前也有這個符號,但沒有特殊意義。按位取反,類析構函式名前使用 是按位bai取反,或者析構du函式前 至於相反數,怎麼說zhi呢.他是針對於二進dao制而言的內求反,也就是說你不容能用十進位制去理解 比如二進位制1000求反是0111 但轉化為十進位制就行不通,呵呵,...
c 操作符過載問題,C 運算子過載是什麼意思
p13 p11 12不能過得原因是 operator 返回的是臨時變數,而你opertor 操作需要的是引用變數。會讓編譯器找不到需要的operator 操作。建議在operator 引數上加上const。或者讓operator 操作返回引用即可。這個錯誤的意思是 在乙個加了const限定符的成員函...
c語言運算子中問號是什麼意思C語言運算子中問號是什麼意思
問號是條件運算子的意思,跟冒號組合使用。條件運算子優先順序高於賦值 逗號運算子,低於其他運算子。表示式為 表示式1?表示式2 表示式3。先求解表示式1,若其值為真 非0 則將表示式2的值作為整個表示式的取值,否則 表示式1的值為0 將表示式3的值作為整個表示式的取值。擴充套件資料條件運算子具有右結合...