溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

關(guān)于C++復(fù)制構(gòu)造函數(shù)的實(shí)現(xiàn)講解

發(fā)布時(shí)間:2020-09-24 10:37:48 來源:腳本之家 閱讀:240 作者:Engineer-Bruce_Yang 欄目:編程語言

復(fù)制構(gòu)造函數(shù)是一種特殊的構(gòu)造函數(shù),有一般構(gòu)造函數(shù)的特性。它的功能是用一個(gè)已知的對(duì)象來初始化一個(gè)被創(chuàng)建的同類對(duì)象。復(fù)制構(gòu)造函數(shù)的參數(shù)傳遞方式必須按引用來進(jìn)行傳遞,請(qǐng)看實(shí)例:

#include <iostream>
#include <cstring>
using namespace std ; 
class Student 
{
 private :
 char name[8];
 int age ;
 char sex ; 
 int score ;
 public :
 void disp(); //打印信息的函數(shù)聲明
 Student(char name[],int age , char sex ,int score); //構(gòu)造函數(shù)聲明
 Student(Student &dx); //復(fù)制構(gòu)造函數(shù)的聲明
 ~Student(); //析構(gòu)函數(shù)的聲明
};
//打印信息函數(shù)的實(shí)現(xiàn)
void Student::disp()
{
 cout << this->name << endl ; 
 cout << this->age << endl ; 
 cout << this->sex << endl ; 
 cout << this->score << endl ;
}
//構(gòu)造函數(shù)的實(shí)現(xiàn) 
Student::Student(char name[],int age , char sex ,int score)
{
 strcpy(this->name,name);
 this->age = age ; 
 this->sex = sex ;
 this->score = score ;
}
//復(fù)制構(gòu)造函數(shù)的實(shí)現(xiàn)
Student::Student(Student &dx)
{
 strcpy(this->name , dx.name);
 this->age = dx.age ; 
 this->sex = dx.sex ;
 this->score = dx.score ;
} 
//析構(gòu)函數(shù)的實(shí)現(xiàn)
Student::~Student()
{
 cout << "程序結(jié)束" << endl ;
} 
int main(void)
{
 Student stu1("YYX",23,'N',86);
 Student stu2(stu1); 
 stu1.disp() ;
 stu2.disp() ;
 return 0 ;
}

運(yùn)行結(jié)果:

YYX
23
N
86
YYX
23
N
86
程序結(jié)束
程序結(jié)束

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)億速云的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI