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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 静态网页设计作品_web静态网页模板

    静态网页设计作品_web静态网页模板作品汇报新的一年新的成就,经历了一星期的思考,新的作品终于完成啦,14张页面经历了多次的修改和揣摩,希望大家能够喜欢。作品主题是“春节”页面框架页面应用了导航栏下拉的形式,使导航栏更加简洁,让浏览者留下空间感,导航栏下拉形式能够让浏览者清晰的浏览页面,页面以红色为底色,更能突出春节这一主题,能够突出春节的喜庆首页首页运用表单和超链接,能够突出该页面的作用,表单运用border-radius属性,使页面更美观春节简介和起源禁烟令的实施和疫情的爆发,让中国春节减少了许多的年味,大部分人都快遗

    2025年8月31日
    6
  • 创业板跌跌不休

    创业板跌跌不休

    2021年7月9日
    101
  • t分布与t检验的一点理解

    t分布与t检验的一点理解

    2021年7月7日
    153
  • DeepLab2:用于深度标记的TensorFlow库(2021)

    DeepLab2:ATensorFLowLibraryforDeepLabelingDeepLab2是一个用于深度标注的TensorFlow库,旨在为密集像素标注任务提供统一的、最先进的TensorFlow代码库,包括但不限于语义分割、实例分割、全景分割、深度估计,甚至视频全景分割。深度标记是指通过深度神经网络为图像中的每个像素分配预测值来解决计算机视觉问题。只要感兴趣的问题可以用这种方式表述,DeepLab2就应该达到目的。此外,此代码库包括我们最近的和最先进的深度标签研究模

    2022年4月15日
    47
  • Lamp架构_lamp平台

    Lamp架构_lamp平台一、LAMP架构介绍   现如今打开浏览器,搜索LAMP关键词,出现大量的关于LAMP的介绍,包括LAMP的一键脚本、LAMP的yum安装、LAMP的编译安装,但是对于一个非开发或非专业人员有可能根据网络参考资源实现LAMP的搭建并成功运行各种服务,也有部分人员完全照搬某些博客知识进行搭建,最后以失败告终,因此抱怨互联网资源不够成熟,其实根本原因并非如此,主要原因如下: 初学者对LA…

    2022年10月17日
    4
  • cs架构和bs架构的应用_cs bs区别

    cs架构和bs架构的应用_cs bs区别悬赏园豆:200[已关闭问题]1.如何设计C/S和B/S混合结构?2.采用webservice,B/S端采用C#,C/S端采用C、delphi、VC++,如何进行通信?3.WebService的运行机理:首先客户端从服务器的到WebService的WSDL,同时在客户端声称一个代理类(ProxyClass),这个代理类负责与WebService服务器进行Request和Response,…

    2025年10月15日
    3

发表回复

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

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