閱讀侯傑的《深入淺出mfc》裡面提到的虛函式的一章,提到了物件切割:
即將乙個子類強制轉換成父類時,它會把該物件的子類部分切割掉
比如,考慮這樣一條強制轉換語句:
(cfahter) cchldobject.memberfunc();
會將子類物件強制轉換成父類物件——它會產生乙個臨時物件
,呼叫了拷貝建構函式
考慮到我寫的如下測試**:
標頭檔案myobject.h
如下:
//這份標頭檔案定義了父類和子類,父類有乙個成員函式func1,去呼叫虛函式vfunc
#pragma once
#include
using
namespace
std;
class cfather
//copy constructor
cfather(cfather& x)
void func()
virtual
void vfunc1()
};class cchild : public cfather
virtual
void vfunc1()
};
main函式如下:
#include "myobject.h"
using
namespace
std;
int main()
執行結果如下:
cfather constuctor!
010ff998
cchild constuctor!
cfahter copy
constructor!
010ff8cc
cfater
func
begin!
cfather
come!
由this指標不同,以及呼叫了拷貝建構函式,可以看出,確實產生出了乙個臨時變數。
再次溫習一下《深入淺出mfc》所說的物件切割,會把子類的成員部分切割掉,因此,vptr中並沒有子類的虛函式vfunc
對建立游標對理解
步驟 1 首先經過底層的 編寫已經建立起了了python和資料庫之間的溝通橋梁並封裝成了模組,通過pymysql下的conntent 方法與之建立起了連線,例項物件。pymysql.connect 方法返回的是connections模組下的connection 例項,connect 方法傳參就是在給...
對勾函式 對勾函式
對勾函式是一種類似於反比例函式的一般函式。所謂的對勾函式,是形如 f x ax b x 的函式,是 一種教材上沒有但考試老喜歡考的函式,所以更加要注意和學習。一般的函式影象形似兩個中心對稱的 對勾,故名。當x 0 時,f x ax b x 有最小值 這裡為了研究方便,規定a 0 b 0 也就是當 x...
一對多 多對一
pip install djangorestframework 3.9.2 pip install markdown 3.0.1 markdown support for the browsable api.pip install django filter 2.1.0 filtering supp...