C++学习——继承与派生「建议收藏」

C++学习——继承与派生「建议收藏」普通继承例题:定义一个名为Phone的手机类,有如下私有成员变量:品牌、型号、CPU、电池容量,如下成员函数:构造函数初始化手机的信息。在此基础上派生出NewPhone类,派生类增加了两个新的私有数据成员,分别用于表示颜色和价格,增加了一个成员函数用来输出手机信息。代码如下:#include <iostream>#include<string>#include&l…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

文章目录

普通继承

例题:定义一个名为Phone的手机类,有如下私有成员变量:品牌、型号、CPU、电池容量,如下成员函数:构造函数初始化手机的信息。在此基础上派生出NewPhone类,派生类增加了两个新的私有数据成员,分别用于表示颜色和价格,增加了一个成员函数用来输出手机信息。

代码如下:

#include <iostream>
#include<string>
#include<Windows.h>
using namespace std;

class Phone
{ 
   
public:
	string pinpai;
	string xinghao;
	string CPU;
	string dianchi;
	Phone(string s1, string s2, string s3, string s4);
	void Print();
private:
};

Phone::Phone(string s1, string s2, string s3, string s4)
{ 
   
	pinpai = s1;
	xinghao = s2;
	CPU = s3;
	dianchi = s4;
}
void Phone::Print()
{ 
   
	cout << "手机的品牌是:" << pinpai << endl;
	cout << "手机的型号是:" << xinghao << endl;
	cout << "手机的CPU是:" << CPU << endl;
	cout << "手机的电池容量是:" << dianchi << endl;
}


class NewPhone :public Phone
{ 
   
	string color;
	string price;
public:
	NewPhone(string s1, string s2, string s3, string s4, string s5, string s6) :Phone(s1, s2, s3, s4), color(s5), price(s6)
	{ 
   
	}
	void Print() { 
   
		Phone::Print();
		cout << "手机的颜色是:" << color << endl;
		cout << "手机的价格是:" << price << endl;
	}
};

int main()
{ 
   

	NewPhone B("华为", "mate", "很大", "1000mA", "黄色", "100000");

	B.Print();
	system("pause");
	return 0;
}

结果如下:
在这里插入图片描述

菱形继承

写一个菱形继承,如下图所示:在这里插入图片描述

写出类的具体结构和方法。

//兽王
class AnimalKing 
{ 
   

public:
	int weight;
	int height;
	int leg;
	void getWeight() 
	{ 
    
		cout << "请输入狮虎兽的体重:";
		cin>>weight;
	};
	void getHeight()
	{ 
   
		cout << "请输入狮虎兽的身高:";
		cin >> height;
	};
	void getLeg()
	{ 
   
		cout << "请输入狮虎兽的腿数:";
		cin >> leg;
	};
};

//老虎
class Tiger : virtual public AnimalKing 
{ 
    
public:
	void Putweight()
	{ 
   
		cout << "继承了老虎的体重"<< weight<< endl;
	}
	void Putheight()
	{ 
   
		cout << "继承了老虎的身高" << weight << endl;
	}
	void Putleg()
	{ 
   
		cout << "继承了老虎的腿数" << weight << endl;
	}
};

//狮子
class Lion : virtual public AnimalKing
{ 
   
public:
	void Putweight()
	{ 
   
		cout << "继承了狮子的体重" << weight << endl;
	}
	void Putheight()
	{ 
   
		cout << "继承了狮子的身高" << weight << endl;
	}
	void Putleg()
	{ 
   
		cout << "继承了狮子的腿数" << weight << endl;
	}
};

//狮虎兽
class Liger : public Tiger, public Lion
{ 
   
public:
	~Liger()
	{ 
   
		cout << "狮虎兽诞生了!" << endl;
	}
};

int main()
{ 
   
	Liger a;
	a.Tiger::getWeight();
	a.Tiger::Putweight();
	a.Lion::getHeight();
	a.Lion::Putheight();
	a.Lion::getLeg();
	a.Tiger::getLeg();
	a.Lion::Putleg();
	a.Tiger::Putleg();

	return 0;
}

结果如下:
结果

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171001.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月18日 上午8:00
下一篇 2022年8月18日 上午8:16


相关推荐

  • DVP MIPI-CSI 摄像头接口的区别

    DVP MIPI-CSI 摄像头接口的区别一、MIPI1、什么是MIPI?MIPI联盟,即移动产业处理器接口(MobileIndustryProcessorInterface简称MIPI)联盟。MIPI(移动产业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。2、MIPI的特点MIPI是差分串口传输,速度快,抗干扰。主流手机模组现在都是用MIPI传输,传输时使用4对差分信号传输图像数据和…

    2022年5月3日
    186
  • 用proxy实现一个更优雅的vue

    用proxy实现一个更优雅的vue

    2021年6月7日
    95
  • 两地 三中心

    两地 三中心1、两地三中心同城双中心+异地灾备中心,“两地三中心”的灾备模式,方案兼具高可用性和灾难备份的能力。同城双中心是指在同城或邻近城市建立两个可独立承担关键系统运行的数据中心,双中心具备基本等同的业务处理能力并通过高速链路实时同步数据,日常情况下可同时分担业务及管理系统的运行,并可切换运行;灾难情况下可在基本不丢失数据的情况下进行灾备应急切换,保持业务连续运行。与异地灾备模式相比较,同城双中心具有投资成本低、建设速度快、运维管理相对简单、可靠性更高等优点。异地灾备中心是指在异地的城市建立一.

    2022年6月30日
    32
  • 在vue中使用echarts

    在vue中使用echarts1 安装

    2026年3月19日
    2
  • Robotium DialogUtils「建议收藏」

    Robotium DialogUtils「建议收藏」packagecom.robotium.solo;importandroid.app.Activity;importandroid.content.Context;importandroid.os.SystemClock;importandroid.view.ContextThemeWrapper;importandroid.view.View;impo

    2022年7月25日
    6
  • C# -XML用法(XmlDocument )

    C# -XML用法(XmlDocument )使用visualstudio中自带的xml解析器,引入System.Xml命名空间。1.向文件中写入配置xml文件实现效果:&amp;lt;?xmlversion=&quot;1.0&quot;encoding=&quot;utf-8&quot;?&amp;gt;&amp;lt;某某某某公司&amp;gt;&amp;lt;执行董事兼总经理&amp;gt;曾振帅&amp;lt;/执行董事兼总经

    2022年6月19日
    68

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号