浅拷贝-->主要时对指针进行拷贝,两个指针指向同一片地址
深拷贝-->不仅对指针进行拷贝,而且里面的值的空间地址不相同
#include <iostream>
using namespace std;
class Animal
{
public:
Animal()
{
a_age=0;
}
Animal(string a_name){
this->a_name=a_name;
}
void setDeta(string a_name,int a_age)
{
this->a_name=a_name;
this->a_age =a_age;
}
Animal &Ageadd()
{
this->a_age +=1;
return *this;//---->每次都会返回一个对象
}
int a_age;
int a_num;
string a_name;
};
void test2()
{
Animal a3;
a3.Ageadd().Ageadd().Ageadd().Ageadd();//---->返回对象
cout<<&a3<<endl<<&a3.Ageadd()<<endl;
cout<<"age:"<<a3.a_age <<endl;
}
int main()
{
test2();
Animal xf;
xf.setDeta("小金",23);
Animal baby;
baby.setDeta("iu",20);
cout << &xf <<endl;
cout << &baby <<endl;
return 0;
}