定义一个类 class student;
student *p=new student[2];
给student[0]初始化;
怎么把p[0]复制给p[1],
如果直接p[1]=p[0];的话会出现错误,应该是指针问题,我觉得是深度复制问题,可是我不知道怎么用。求大神
函数重载不是有默认重载函数吗,就是构造函数一样。如果p不是指针的话好像可以,a(类名)=b(类名)就可以
追答不是这样简单的,如果对象a 和对象b可以用=来赋值;表示这个类里面所有的成员变量都是可以用=的,
一个类对象是否可以用=关键在与其类成员变量是否都能用=
谢谢,你所说的成员变量是指私有成员吗?
你说的memcpy(&p[0],&p[1],sizeof(student));
student(student &p[0],student &p[1])
{memcpy(&p[0],&p[1],sizeof(student))}放在这里面用吗?第一次见这函数,不好意思
我的意思是 如果想把p[0]对象的内容赋值给p[1]对象,可以调用这个函数来实现,这个函数是内存拷贝memcpy(源对象地址,目标对象地址,拷贝的内容长度);
追问emcpy' : cannot convert parameter 1 from 'class student' to 'void *'。。。
追答把你写的帖出来看看
本回答被提问者采纳