C 中怎麼判斷兩個物件是否相同

2021-06-25 14:47:34 字數 2547 閱讀 8990

1樓:it孤鶩

singleclass c1 = singleclass::getsingleclass();

他會呼叫預設拷貝函式,那麼這時候的物件和傳過來的物件,雖然內容相同,但是有各自的記憶體空間

singleclass& c1 = singleclass::getsingleclass();

& 是引用 c1直接指向傳過來的物件,相當該物件的別名,共用所以資源

所以singleclass& c1 = singleclass::getsingleclass();

singleclass& c2 = singleclass::getsingleclass();

可以比較 c1==c2 是對的

2樓:

加引用就是說不用開闢新的記憶體,和之前的物件一起使用同一塊記憶體

3樓:匿名使用者

物件是否相同?是同乙個型別還是這兩個物件在記憶體中是同乙個位址

4樓:匿名使用者

需要寫乙個函式實現(或者該物件已經內建函式實現這一功能)

5樓:匿名使用者

笨點的辦法就寫個比較函式吧

6樓:匿名使用者

怎麼才相等,只有你自己知道。。。

7樓:溪貝0號

假如乙個物件叫c1, 乙個物件叫c2,

這個類裡面有個變數叫 int m_age,

假設:若是c1的 m_age 等於 c2的m_age, 則 c1 和 c2物件相等

可以在類裡面寫乙個成員函式

bool xiangdeng(& c) //只需要傳乙個物件即可

在main函式呼叫的時候, 用c1.成員函式(c2)形式呼叫,得出乙個bool值

bool ret=c1.xiangdeng(c2);

if (ret)

cout<<"兩個物件相等"<

else

cout<<"兩個物件不等"<

重點:這種方法是成員函式判斷法, 只需要傳乙個物件, 用 c1.成員函式(c2)的形式呼叫。

c++如何判斷兩個物件是否是同乙個物件?判斷兩個物件的位址可以嗎?

8樓:

位址相同自然是同乙個物件了

自定義類你可以過載operator ==啊

9樓:倒霉熊

不明白,你這裡說的相同是指相等呢

10樓:匿名使用者

可以用auto_ptr儲存乙個物件,則這個物件是唯一的,就不用判斷了。

c++ 如何判斷乙個類a的兩個物件a1和a2是否同一物件

11樓:匿名使用者

通過位址判斷

a* p = &a1;

a* q= &a2;

if(p == q)

12樓:year醫海無邊

分情況如果是定義的時候 使用=操作

比如class a

a a=b;

呼叫的是拷貝構造

除此外,

a=b都是呼叫賦值過載。

13樓:謝興橋

過載乙個==邏輯運算子,直接if(a1==a2)就可以了。思路這樣

14樓:匿名使用者

這個問題就有問題 都是兩個物件怎能還能是乙個物件啊

c++中如何判斷乙個物件是否屬於某個類??

15樓:

c++語言判斷乙個物件有兩種機制

在執行時判斷,使用if else

int i ;

if( typeid( i ) == typeid( int ) )cout << "i is int" << endl ;

else

cout << "i is not int" << endl ;

在編譯時判斷,使用過載或者特化

template< class t >

void func( t t )

template< >

void func( int i)

int i ;

func( i )

希望對你有用。

16樓:匿名使用者

你仔細看看這個程式rtti(執行時類資訊機制)#include

#include

#include

using namespace std;

class a

};class b : public a {};

void foo (a* pa)

int main (void)

17樓:匿名使用者

判斷 x 的動態型別是不是y,可以用表示式:typeid(x) == typeid(y)

這個要包含:標頭檔案

另外vc可能需要你開啟rtti之後才能用。

怎麼在js中判斷標籤中物件是否為空

判斷方法 var obj for var key in obj js怎麼判斷乙個物件是否為空?判斷乙個物件是否為空,介紹如下三種判斷方法 1 直接用for.in.遍歷屬性,結果為真是 非空陣列 否則是 空陣列 如下 function judgeobj obj return alert 空物件 2 通...

JS中,判斷物件是否為空,語句怎麼寫

var obj obj false true 所以可以這樣 if obj else true js怎麼判斷乙個物件是否為空 判斷乙個物件是否為空,介紹如下三種判斷方法 1 直接用for.in.遍歷屬性,結果為真是 非空陣列 否則是 空陣列 如下 function judgeobj obj retur...

比如說判斷兩個函式是否相同,定義域相同,當比較對應法則時應該

對應法則是要滿足兩點 值域相同,函式值相等。判斷兩個函式是否相同,要看對應法則和定義域。那麼怎麼寫過程呢?其實就是看解析式是否相同,再看定義域,判斷過程下出來就行,怎麼判斷的就怎麼寫 判斷兩個函式是否相同,定義域和對應關係乙個相同就行是吧 當然不是,要bai 兩個都相同,才是相同的du函式。例如f ...