首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

《挑战30天C++入门极限》图文例解C++类的多重继承与虚拟继承

//站点:www.cndev-lab.com //所有稿件均有版权,如要转载,请务必著名出处和作者 #include <iostream> using namespace std; class Vehicle { public: Vehicle(int weight = 0) { Vehicle::weight = weight; } void SetWeight(int weight) { cout<<"重新设置重量"<<endl; Vehicle::weight = weight; } virtual void ShowMe() = 0; protected: int weight; }; class Car:public Vehicle//汽车 { public: Car(int weight=0,int aird=0):Vehicle(weight) { Car::aird = aird; } void ShowMe() { cout<<"我是汽车!"<<endl; } protected: int aird; }; class Boat:public Vehicle//船 { public: Boat(int weight=0,float tonnage=0):Vehicle(weight) { Boat::tonnage = tonnage; } void ShowMe() { cout<<"我是船!"<<endl; } protected: float tonnage; }; class AmphibianCar:public Car,public Boat//水陆两用汽车,多重继承的体现 { public: AmphibianCar(int weight,int aird,float tonnage) :Vehicle(weight),Car(weight,aird),Boat(weight,tonnage) //多重继承要注意调用基类构造函数 { } void ShowMe() { cout<<"我是水陆两用汽车!"<<endl; } }; int main() { AmphibianCar a(4,200,1.35f);//错误 a.SetWeight(3);//错误 system("pause"); }   上面的代码从表面看,看不出有明显的语发错误,但是它是不能够通过编译的。这有是为什么呢?   这是由于多重继承带来的继承的模糊性带来的问题。   先看如下的图示:

01

golang数据结构之散哈希表(Hash)

f:\goproject\src\go_code\data_structure>go run main.go ==========员工菜单========== insert 表示添加员工 show 表示显示员工 find 表示查询员工 exit 表示退出员工 请输入你的选择: insert 请输入员工id: 1 请输入员工名字: bob ==========员工菜单========== insert 表示添加员工 show 表示显示员工 find 表示查询员工 exit 表示退出员工 请输入你的选择: insert 请输入员工id: 8 请输入员工名字: mike ==========员工菜单========== insert 表示添加员工 show 表示显示员工 find 表示查询员工 exit 表示退出员工 请输入你的选择: insert 请输入员工id: 15 请输入员工名字: tom ==========员工菜单========== insert 表示添加员工 show 表示显示员工 find 表示查询员工 exit 表示退出员工 请输入你的选择: insert 请输入员工id: 57 请输入员工名字: pop ==========员工菜单========== insert 表示添加员工 show 表示显示员工 find 表示查询员工 exit 表示退出员工 请输入你的选择: show 当前0链表为空 链表:1,员工id:1,员工名字:bob-->链表:1,员工id:8,员工名字:mike-->链表:1,员工id:15,员工名字:tom-->链表:1,员工id:57,员工名字:pop--> 当前2链表为空 当前3链表为空 当前4链表为空 当前5链表为空 当前6链表为空 ==========员工菜单========== insert 表示添加员工 show 表示显示员工 find 表示查询员工 exit 表示退出员工 请输入你的选择: insert 请输入员工id: 36 请输入员工名字: bib ==========员工菜单========== insert 表示添加员工 show 表示显示员工 find 表示查询员工 exit 表示退出员工 请输入你的选择: show 当前0链表为空 链表:1,员工id:1,员工名字:bob-->链表:1,员工id:8,员工名字:mike-->链表:1,员工id:15,员工名字:tom-->链表:1,员工id:36,员工名字:bib-->链表:1,员工id:57,员工名字:pop--> 当前2链表为空 当前3链表为空 当前4链表为空 当前5链表为空 当前6链表为空 ==========员工菜单========== insert 表示添加员工 show 表示显示员工 find 表示查询员工 exit 表示退出员工 请输入你的选择: insert 请输入员工id: 12 请输入员工名字: viv ==========员工菜单========== insert 表示添加员工 show 表示显示员工 find 表示查询员工 exit 表示退出员工 请输入你的选择: show 当前0链表为空 链表:1,员工id:1,员工名字:bob-->链表:1,员工id:8,员工名字:mike-->链表:1,员工id:15,员工名字:tom-->链表:1,员工id:36,员工名字:bib-->链表:1,员工id:57,员工名字:pop--> 当前2链表为空 当前3链表为空 当前4链表为空 链表:5,员工id:12,员工名字:viv--> 当前6链表为空 ==========员工菜单========== insert 表示添加员工 show 表示显示员工 find 表示查询员工 exit 表示退出员工 请输入你的选择: find 请输入你要查找的id: 12 链表5找到该员工 12 ==========员工菜单========== insert 表示添加员工 show 表示显示员工 find 表示查询员工 exit 表示退出员工 请输入你的选择: find 请输入你要查找的id: 7 id=7的员工不存在 ==========员工菜单========== insert 表示添加员工 show 表示显示员工 find 表示查询员工 exit 表示退出员工 请输入你的选择: exit

01
领券