關于C++復制構造函數的實現講解
更新時間:2018年12月20日 10:14:06 作者:Engineer-Bruce_Yang
今天小編就為大家分享一篇關于關于C++復制構造函數的實現講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
復制構造函數是一種特殊的構造函數,有一般構造函數的特性。它的功能是用一個已知的對象來初始化一個被創(chuàng)建的同類對象。復制構造函數的參數傳遞方式必須按引用來進行傳遞,請看實例:
#include <iostream>
#include <cstring>
using namespace std ;
class Student
{
private :
char name[8];
int age ;
char sex ;
int score ;
public :
void disp(); //打印信息的函數聲明
Student(char name[],int age , char sex ,int score); //構造函數聲明
Student(Student &dx); //復制構造函數的聲明
~Student(); //析構函數的聲明
};
//打印信息函數的實現
void Student::disp()
{
cout << this->name << endl ;
cout << this->age << endl ;
cout << this->sex << endl ;
cout << this->score << endl ;
}
//構造函數的實現
Student::Student(char name[],int age , char sex ,int score)
{
strcpy(this->name,name);
this->age = age ;
this->sex = sex ;
this->score = score ;
}
//復制構造函數的實現
Student::Student(Student &dx)
{
strcpy(this->name , dx.name);
this->age = dx.age ;
this->sex = dx.sex ;
this->score = dx.score ;
}
//析構函數的實現
Student::~Student()
{
cout << "程序結束" << endl ;
}
int main(void)
{
Student stu1("YYX",23,'N',86);
Student stu2(stu1);
stu1.disp() ;
stu2.disp() ;
return 0 ;
}
運行結果:
YYX
23
N
86
YYX
23
N
86
程序結束
程序結束
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
C++中unique_lock和lock_guard區(qū)別小結
本文主要介紹了C++中unique_lock和lock_guard區(qū)別,std::unique_lock?和?std::lock_guard屬于標準庫mute中的互斥鎖管理工具,用于簡化互斥鎖的使用并確保線程安全,具有一定的參考價值,感興趣的可以了解一下2025-04-04
VSCode搭建STM32開發(fā)環(huán)境的實現步驟
因為VSCode免費且好用,可以安裝各種插件,本文主要介紹了VSCode搭建STM32開發(fā)環(huán)境的實現步驟,具有一定的參考價值,感興趣的可以了解一下2023-12-12

