特殊成員函數實踐

文章目錄

    • 1.構造函數一般方式
    • 2.初始化列表方式,構造函數
    • 3.委托構造函數
    • 4.析構函數
    • 5.淺拷貝
    • 6.深拷貝
    • 7.移動構造

1.構造函數一般方式

2.初始化列表方式,構造函數

3.委托構造函數

4.析構函數

5.淺拷貝

6.深拷貝

7.移動構造

#include <iostream>
#include <string>using namespace std;/** 1.構造函數一般方式* 2.初試化列表方式,構造函數* 3.委托構造函數* 4.析構函數* 5.淺拷貝* 6.深拷貝* 7.移動構造函數* */class stu{
public:string name;int age;stu(){cout << "無參構造"<< endl;}stu(string name){cout << "有參構造1"<< endl;}stu(string name,int age){cout << "有參構造2"<< endl;}
};class teacher{
public:string name;int age;teacher(string name,int age):name(name),age(age){cout << "有參構造"<< endl;}
};class school{
public:string name;int age;school():name{"希望小學"},age(30){//無參構造,委托兩個構造兩個參數的構造函數};school(string name):school{name,100}{//一個參數的有參構造,委托兩個參數的構造函數};school(string name,int age):name{name},age{age}{//該函數完成成員賦值操作};};class stu2{
public:string name;int age;stu2(string name,int age){cout << "有參構造"<< endl;}~stu2(){cout << "析構函數"<< endl;}
};class stu3{
public:string name;int age;stu3(string name,int age):name(name),age(age){cout << "有參構造"<< endl;}stu3(const stu3 & s){cout << "調用拷貝構造```"<< endl;name = s.name;age = s.age;}~stu3(){cout <<"析構函數"<< endl;}
};class hospital{
public:string name;string *address;hospital(string name,string *address):name(name),address(address){cout << "拷貝構造"<< endl;}hospital(const hospital & h){cout << "調用拷貝構造"<< endl;name = h.name;if(address== nullptr){address = new string;address = h.address;}}~hospital(){cout << "調用析構函數"<<endl;if(address != nullptr){
//            delete address;address = nullptr;}}
};class lecturer{
public:string *name;lecturer():name(new string("豆花")){cout << "執行構造函數lecturer"<<endl;}lecturer(const lecturer &le):name(new string(*le.name)){cout << "拷貝構造函數~"<<endl;}lecturer(lecturer && lec):name(lec.name){cout << "移動構造lec"<<endl;lec.name = nullptr;}~lecturer(){cout << "析構函數lecture"<< endl;delete name;}
};lecturer getLec(){lecturer ll;return ll;
}int main() {stu s;stu s2("小明");stu s3("小紅",18);teacher t("王老師",38);school sc;school sc2("豆花");stu2 * s21 = new stu2("小明",18);delete s21;stu3 s31("小麗",12);stu3 s32 = s31;cout << s32.name << s32.age << endl;string address = "北京路";hospital h1("協和醫院",&address);hospital h2 = h1;*h1.address = "上海路";lecturer ll = getLec();return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/17513.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/17513.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/17513.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

go語言方法之方法聲明

從我們的理解來講&#xff0c;一個對象其實也就是一個簡單的賦值或者一個變量&#xff0c;在這個對象中會包含一些方法&#xff0c;而一個方法則是一個一個和特殊類型關聯的函數。一個面向對象的程序會用方法來表達其屬性和對應的操作&#xff0c;這樣使用這個對象的用戶就不需…

centos6下面用yum安裝php7.3

首先安裝remi.repo 倉庫 參考: centos yum方式安裝PHP74 centos yum方式安裝PHP74_yum 安裝php74-CSDN博客 yum安裝 yum install php73-php-pecl-zip bz2 curl event gd json openssl mysqlnd PDO yum install php-posix php73 composer.phar config -g repo.packagist co…

AI大模型在測試中的深度應用與實踐案例

文章目錄 1. 示例項目背景2. 環境準備3. 代碼實現3.1. 自動生成測試用例3.2. 自動化測試腳本3.3. 性能測試3.4. 結果分析 4. 進一步深入4.1. 集成CI/CD管道4.1.1 Jenkins示例 4.2. 詳細的負載測試和性能監控4.2.1 Locust示例 4.3. 測試結果分析與報告 5. 進一步集成和優化5.1. …

IND-ID-CPA 和 IND-ANON-ID-CPA Game

Src: https://eprint.iacr.org/2017/967.pdf

算法訓練 | 二叉樹Part5 | 513.找樹左下角的值、112.路徑總和、106.從中序與后序遍歷序列構造二叉樹

目錄 513.找樹左下角的值 遞歸法 迭代法 ? 112.路徑總和 遞歸法 迭代法 106.從中序與后序遍歷序列構造二叉樹 遞歸法 513.找樹左下角的值 題目鏈接&#xff1a;513. 找樹左下角的值 - 力扣&#xff08;LeetCode&#xff09; 文章講解&#xff1a;programmercarl.com…

超聲波清洗機哪些品牌好用點?四大極其出色的機型一目了然

各位眼鏡俠們&#xff0c;在佩戴眼鏡的是&#xff0c;有沒有覺得眼鏡總是有些難以言喻的“味道”或者是污漬在鏡片上面。是的&#xff0c;沒有猜錯&#xff0c;那是我們臉上油脂、汗液和各種不明物質的混合體。特別是在夏天的時候天氣太炎熱會經常出汗&#xff0c;眼鏡上會沾染…

2021職稱繼續教育--加快構建完整內需體系,形成國內國際雙循環相互促進新格局

單選題&#xff08;共7題&#xff0c;每題5分&#xff09; 1、根據本講&#xff0c;突破和推進“一帶一路”戰略&#xff0c;要滿足以企業為主體、以&#xff08;&#xff09;為導向的基本要求。 D、市場 2、根據本講&#xff0c;讓農村消費市場持續擴張的前提&#xff08;&am…

shell將文件分割成小塊文件

背景&#xff1a;某軟件最多支持1G的文件傳輸&#xff0c;需要對大文件進行切割。 方案1&#xff1a; 可以使用split命令將文件均分成10分片。以下是具體的命令示例&#xff1a; split -b $(($(du -b < 文件名) / 10)) 文件名 分片前綴 這里文件名是你想要分割的文件的名…

網絡架構三層到大二層的對比和選擇

在企業的網絡結構選擇中&#xff0c;有二層網絡和三層網絡結構兩種選擇。三層是按照邏輯拓撲結構進行的分類&#xff0c;匯聚層和接入層&#xff0c;流量縱向經過接入層、匯聚層網絡&#xff0c;收斂至骨干核心層。二層網絡結構沒有匯聚層。大二層網絡架構通常使用VLAN&#xf…

上海冠珠旗艦總店盛裝開業暨冠珠瓷磚中國美學設計巡回圓滿舉辦

上海&#xff0c;這座融合了東西方文化的國際化大都市&#xff0c;不僅是中國的時尚中心&#xff0c;也是全球潮流的匯聚地。在這里&#xff0c;古典與現代交織&#xff0c;傳統與前衛并存&#xff0c;為傳統色彩與現代設計的融合提供了得天獨厚的條件。 5月25日&#xff0c;上…

JWT-登錄后下發令牌

后端 寫一個jwt工具類&#xff0c;處理令牌的生成和校驗&#xff0c;如&#xff1a; 響應數據樣例&#xff1a; 前端要做的&#xff1a;

ts 中的 type 和 interface 有什么區別?

一、用法舉例 interface Person {name: stringage: number }const person: Person {name: Kite,age: 24 }type Person {name: stringage: number }const person: Person {name: Kite,age: 24 }二、翻閱 ts 的官方文檔&#xff1a; 1、interface 接口 TypeScript的核心原則…

Weblogic SSRF漏洞 [CVE-2014-4210]

漏洞復現環境搭建請參考 http://t.csdnimg.cn/svKal docker未能成功啟動redis請參考 http://t.csdnimg.cn/5osP3 漏洞原理 Weblogic的uddi組件提供了從其他服務器應用獲取數據的功能并且沒有對目標地址做過濾和限制&#xff0c;造成了SSRF漏洞&#xff0c;利用該漏洞可以向內…

【AJAX前端框架】Asynchronous Javascript And Xml

1 傳統請求及缺點 傳統的請求都有哪些&#xff1f; 直接在瀏覽器地址欄上輸入URL。點擊超鏈接提交form表單使用JS代碼發送請求 window.open(url)document.location.href urlwindow.location.href url… 傳統請求存在的問題 頁面全部刷新導致了用戶的體驗較差。傳統的請求導…

安泰電子:高壓功率放大器應用場合介紹

高壓功率放大器是一種電子設備&#xff0c;用于將低電壓信號放大到較高電壓水平&#xff0c;以滿足各種應用需求。它在多個領域中具有廣泛的應用&#xff0c;包括科學研究、工業生產、通信技術以及醫療設備。下面安泰電子將介紹高壓功率放大器的應用場合。 科學研究 高壓功率放…

【最優化方法】實驗一 熟悉MATLAB基本功能

實驗一  熟悉MATLAB基本功能 實驗的目的和要求&#xff1a;在本次實驗中&#xff0c;通過親臨使用MATLAB&#xff0c;對該軟件做一全面了解并掌握重點內容。 實驗內容&#xff1a; &#xff11;、全面了解MATLAB系統 &#xff12;、實驗常用工具的具體操作和功能 學習建…

在Open AI的Assistant API中,Thread代表什么?

在OpenAI的Assistant API中&#xff0c;Thread通常代表一系列相關的對話&#xff0c;保持對話的上下文和連貫性。這對于創建連續對話非常重要&#xff0c;因為它允許模型記住先前的交互&#xff0c;并在隨后的響應中參考這些信息。 具體作用 保持上下文&#xff1a;Thread可以…

深入學習Python:掌握面向對象編程

在上一篇文章中,我們介紹了Python的基本語法和概念,包括變量、數據類型、條件語句、循環、函數和文件操作。接下來,我們將深入探討Python的面向對象編程(OOP)特性,這是現代編程中的一個重要概念。通過這篇文章,你將學會如何使用類和對象來組織和管理你的代碼。 1. 面向…

哇!數據中臺竟是企業數字化轉型的關鍵力量!

在當今數字化浪潮席卷的時代&#xff0c;數據中臺正成為企業實現數字化轉型的關鍵力量。那么&#xff0c;究竟什么是數據中臺呢&#xff1f;它乃是一種持續讓企業數據活躍起來的機制&#xff0c;能夠將企業內各部分數據匯聚至一個平臺&#xff0c;達成數據的統一化管理。 數據中…