Singleclass c1 = Singleclass::getSingleclass();
他会调用默认拷贝函数,那么这时候的对象和传过来的对象,虽然内容相同,但是有各自的内存空间
Singleclass& c1 = Singleclass::getSingleclass();
& 是引用 c1直接指向传过来的对象,相当该对象的别名,共用所以资源
所以Singleclass& c1 = Singleclass::getSingleclass();
Singleclass& c2 = Singleclass::getSingleclass();
可以比较 c1==c2 是对的
假如一个对象叫C1, 一个对象叫C2,
这个类里面有个变量叫 int m_age,
假设:若是C1的 m_age 等于 C2的m_age, 则 C1 和 C2对象相等
可以在类里面写一个成员函数
bool xiangdeng(& c) //只需要传一个对象即可
{
if( m_age = c.m_age;)
return true;
return flase;
}
在main函数调用的时候, 用C1.成员函数(C2)形式调用,得出一个bool值
bool ret=c1.xiangdeng(c2);
if (ret)
cout<<"两个对象相等"<
cout<<"两个对象不等"<
重点:这种方法是成员函数判断法, 只需要传一个对象, 用 C1.成员函数(c2)的形式调用。
需要写一个函数实现(或者该对象已经内置函数实现这一功能)
加引用就是说不用开辟新的内存,和之前的对象一起使用同一块内存
对象是否相同?是同一个类型还是这两个对象在内存中是同一个地址