浅复制
浅复制是指当对象的字段值被复制时,字段引用的对象不会被复制·例如,如果一个对象有一个指向字符串的字段,并且我们对该对象做了一个浅复制,那麽两个对象将引用同一个字符串·
中文名
浅复制
外文名
qianfuzhi
类 别
电脑操作
类 型
专有名词
浅复制
JAVA
在JAVA中,浅复制是指当对象的字段值被复制时,字段引用的对象不会被复制.例如,如果一个对象有一个指向字符串的字段,并且我们对该对象做了一个浅复制,那麽两个对象将引用同一个字符串.和浅复制对应的有深复制. C++
在C++中,在用一个对象初始化另一个对象时,只复制了成员,并没有复制资源,使两个对象同时指向了同一资源的复制方式称为浅复制。如果不存在资源矛盾,那么程序能够正常运行。请看下面一段程序:
#include<iostream.h>
using namespace std;
class Student
{
public:
Student(int pid,char *pname,float s);
Student(const Student&s1);
void display();
~Student();
private:
int id;
char*name;
float score;
};
Student::Student(int pid,char*pname,float s)
{
id=pid;
name=new char[strlen(pname)+1];
strcpy(name,pname);
score=s;
}
Student::Student(const Student&s1)
{
id=s1.id;
name=new char[strlen(s1.name)+1];
strcpy(name,s1.name);
score=s1.score;
}
void Student::display()
{
cout