解決多繼承三角問題例項 SofaBed

2021-08-13 08:02:24 字數 1726 閱讀 7390

#include "stdafx.h"

#include using namespace std;

#include "sofa.h"

#include "bed.h"

#include "sofabed.h"

//為解決

//sofabed len wid high 兩份資料 冗餘

// discription() 訪問問題

int _tmain(int argc, _tchar* argv)

有虛繼承就會有虛基類表指標 而指標大小為4位元組 所以sofa為16

sofabed 虛繼承繼承倆個父類 產生倆個虛基類表指標8位元組,所以sofabed為8+12=20位元組

父類或者子類中有乙個virtual就有乙個虛基類表指標,就多4位元組

#pragma once

#include using namespace std;

class furniture

;

#include "furniture.h"

furniture::furniture(int l, int w, int h)

void furniture::discription()

furniture::~furniture(){}

#pragma once

#include using namespace std;

#include "furniture.h"

class bed:virtual public furniture

;

#include "bed.h"

bed::bed(int l, int w, int h)

:furniture(l,w,h){}

void bed::sleep()

bed::~bed(){}

#pragma once

#include using namespace std;

#include "furniture.h"

class sofa:virtual public furniture

;

#include "sofa.h"

sofa::sofa(int l, int w, int h)

:furniture(l,w,h){}

void sofa::sit()

sofa::~sofa(){}

#pragma once

#include using namespace std;

#include "bed.h"

#include "sofa.h"

class sofabed:public sofa,public bed

;

#include "sofabed.h"

sofabed::sofabed(int l, int w, int h)

:sofa(l, w, h), bed(l, w, h), furniture(l,w,h){}

sofabed::~sofabed(){}

符號三角問題

問題描述 如下三角形 是由14個 號和14個 號組成的符號三角形,兩個同號下面都是 號,兩個異號下面都是 號。在一般情況下,符號三角形的第一行有n個符號。符號三角形問題要求對於給定的n,計算有多少個不同的符號三角形,使其所含的 的個數和 的個數相同。使用回溯法解決此問題 如下 include def...

三角數塔問題

數塔問題 912 15 10 6 8 2 18 9 5 19 7 10 4 16 有形如圖所示的數塔,從頂部出發,在每一結點可以選擇向左走或是向右走,一直走到底層,要求找出一條路徑,使路徑上的值最大。或者是從低往上走,使路徑上的值最大。下面 是從下往上走,要找到從下往上找,用陣列一存就行。inclu...

問題 J 楊輝三角

還記得中學時候學過的楊輝三角嗎?具體的定義這裡不再描述,你可以參考以下的圖形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 輸入資料報含多個測試例項,每個測試例項的輸入只包含乙個正整數n 1 n 30 表示將要輸出的楊輝三角的層數。對應於每乙個輸入,請輸出相...