SV 物件複製和賦值問題(華為2020實習生機試)

2022-06-20 01:27:11 字數 590 閱讀 5927

class thing;

int data;

endclass

module test();

thing t1,t2,t3;

initial begin

t1 = new();

t1.data=3;

t2=new();

t2.data=4;

t3 = new t2;

t2=t1;

t2.data=8;

$display("t1.data:%0d\n",t1.data); //8,t2新賦的值給到t1,說明t2控制代碼指到了t1的儲存空間

$display("t2.data:%0d\n",t2.data); //8

$display("t3.data:%0d\n",t3.data); //4,t2新賦的值沒有給到t3,說明通過new複製的物件本身是有int data的儲存空間的

t2 = t3;

t3.data=8;

$display("t3.data:%0d\n",t3.data); //8

endendmodule

控制代碼就像指標

物件複製和物件賦值

1 先看這個例子 include include using namespace std class student 建構函式 student string strname,int nage name strname age nage 帶引數的建構函式 student void show int m...

物件的賦值和複製

物件之間可以通過賦值運算子 進行賦值運算,通過以下的程式可以看出。include using namespace std class box box box int h,int w int len int box volume int main 說明 物件的賦值只對其中的資料成員進行賦值,而不對成員...

物件複製和物件賦值的區別

1.何時呼叫複製建構函式 複製建構函式用於將乙個物件複製到新建立的物件中。也就是說,它用於初始化過程中,而不是常規的賦值過程中。類的複製建構函式原型通常如下 class name const class name 它接受乙個指向類物件的常量引用作為引數。例如,string類的複製建構函式的原型如下 ...