C primer 第十六章 繼承建構函式

2021-06-25 20:44:41 字數 1256 閱讀 4660

異常處理

直接上**:

trycatch (runtime_error e)

#pragma once

#include "item_base.hpp"

#include "handle.hpp"

class sales_item

sales_item(const item_base & item) :h(item.clone())

item_base & operator *()

item_base * operator &()

const item_base & operator *() const

const item_base * operator &() const

private:

handleh;

};

使用原生字串常量(raw string literal)

之前我也遇到coso2dx在vs上無法列印中文字元除錯的問題,而c++標準一出,增加unicode的標準,蠻好的。另一方面,由於繼承的父類建構函式將導致新的風險,即增加了建構函式,可以顯示的把某些建構函式 = deleted 掉,例如:

disc_item() = deleted;
原始碼如下:

class disc_item : public item_base

virtual ~disc_item()

virtual double net_price(std::size_t n) const = 0;

disc_item(const disc_item & other)

:item_base(other), disc_rate(other.disc_rate), min_qty(other.min_qty)

disc_item & operator =(const disc_item & other)

min_qty = other.min_qty;

disc_rate = other.disc_rate;

std::cout << r"(disc_item =賦值函式)" << std::endl;

return *this;

}

但是問題還是沒解決,繼承的建構函式沒有減少**量書寫,還是無法完美的實現初始化,只能說在基類有合成的預設建構函式才適合使用或者說pod形式父類資料初始化直接繼承建構函式即可。

第十六章 tcp wrappers

在伺服器向外提供的tcp服務上包裝一層安全檢測機制。外來連線請求首先通過這個安全檢測,獲得安全認證後才可被系統服務接受。hosts.allow hosts.deny 在配置檔案中為各服務分別定義訪問控制規則實現訪問控制,檔案中的規則是即時生效的。配置檔案語法 1 daemon list client...

第十六章 執行緒棧

1 基礎 1 執行緒初始化時,執行緒棧預設1m,所有頁面都是page readwrite屬性,但只為前兩個頁面調撥了物理儲存器,位址低的那個頁面叫防護頁面,為其指定了page guard屬性 2 當執行緒訪問到防護頁面時,由於指定了page guard屬性,系統會得到通知,系統會為防護頁面的下乙個頁...

第十六章 控制迴圈

第十六章 控制迴圈 16.1 選擇迴圈的種類 1.在大多數語言中,你只能用到少數幾種迴圈 1 計數迴圈 執行次數一定。2 連續求值的迴圈 預先並不知道將要執行多少次,它會在每次迭代時檢查是否應該結束。3 無限迴圈 一旦啟動就一直執行下去。4 迭代器迴圈 對容器類裡面的每個元素執行一次操作。2.什麼時...