鱼C论坛

 找回密码
 立即注册

浅复制

已有 597 次阅读2017-8-21 11:25 |个人分类:术语

浅复制

浅复制是指当对象的字段值被复制时,字段引用的对象不会被复制·例如,如果一个对象有一个指向字符串的字段,并且我们对该对象做了一个浅复制,那麽两个对象将引用同一个字符串·
中文名
浅复制
外文名
qianfuzhi
类    别
电脑操作
类    型
专有名词
浅复制

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

评论 (0 个评论)

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-16 19:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部