c++类的继承(一)

        大家好,这里是小张,今天我为大家带来的文章是**类的继承**,到这里有人可能就会问了什么是继承啊,看起来好难理解的样子,没错,刚开始确实有点难理解,刚开始的我也是超级懵,没有头绪。但是现在的我稍微有了点自己的理解,可能会给大家带来些帮助,使大家能够更加容易的理解类的继承,下面就由我来为大家分别举一个由普通实现和由继承实现的例子来帮助大家更好的理解类的继承。

/类中的继承
#include<iostream>
using namespace std;
//普通页面实现
//例如这是CSND网页的页面
class java//假设这个界面是Java专属界面
{
public:
	void header()//每个网页都有头题目
	{
		cout << "首页,博客,课程,问答...(公共头部)" << endl;
	}
	void footer()//每个网页都有底部
	{
		cout << "帮助中心,交流合作,站内地图...(公共底部)" << endl;
	}
	void left()//每个网页都有左边的部分,我们先假设左边有这些内容
	{
		cout << "Java,Python,C++,...(公共分类列表)" << endl;
	}
	void content()
	{
		cout << "Java资料" << endl;
	}
};
class CPP//假设这个界面是c++专属界面
{
public:
	void header()
	{
		cout << "首页,博客,课程,问答...(公共头部)" << endl;
	}
	void footer()
	{
		cout << "帮助中心,交流合作,站内地图...(公共底部)" << endl;
	}
	void left()
	{
		cout << "Java,Python,C++,...(公共分类列表)" << endl;
	}
	void content()
	{
		cout << "C++资料" << endl;
	}
};
class Python//假设这个界面是python专属界面
{
public:
	void header()
	{
		cout << "首页,博客,课程,问答...(公共头部)" << endl;
	}
	void footer()
	{
		cout << "帮助中心,交流合作,站内地图...(公共底部)" << endl;
	}
	void left()
	{
		cout << "Java,Python,C++,...(公共分类列表)" << endl;
	}
	void content()
	{
		cout << "python资料" << endl;
	}
};
int main()
{
	cout << "java资料页面如下" << endl;
	java p;
	CPP q;
	Python L;
	p.content();
	p.footer();
	p.header();
	p.left();
	cout << "-------------------------------------------" << endl;
	cout << "C++资料页面如下" << endl;
	q.content();
	q.footer();
	q.header();
	q.left();
	cout << "-------------------------------------------" << endl;
	cout << "python资料页面如下" << endl;
	L.content();
	L.footer();
	L.header();
	L.left();
	return 0;
}

        通过这个普通实现的例子我们可以看到在这个程序中有许多重复的代码,运行起来的时间和内存占用比较多,而且看起来代码很多,不美观,可读性也比较差。那么我们有没有一种既可以减少空间的占用又可以更美观的方法呢,答案是有的,这里就自然而然的引出类的继承了。

下面就先为大家介绍一下继承的基本语言规则,继承的语法:class 子类:继承方式 父类 ,其中子类也称作派生类  父类也称作基类。好的,这就是一些基本的语法,下面我们来进行代码的实现:

//下面运用继承的方法实现,这里用到的是公共继承的方法(公共继承方式--可以继承公共部分)
#include<iostream>
using namespace std;
class Basepage//父类,里面有大家都有的最基础的页面,公共页面类
{
public://这里面写一些公共的头,尾,内部,如下
	void header()
	{
		cout << "首页,博客,课程,问答...(公共头部)" << endl;
	}
	void footer()
	{
		cout << "帮助中心,交流合作,站内地图...(公共底部)" << endl;
	}
	void left()
	{
		cout << "Java,Python,C++,...(公共分类列表)" << endl;
	}
};
//下面进行实现Java页面,C++页面python页面
//Java页面
class Java :public Basepage//子类,这里是进行继承
{
	//现在里面直接写Java自己包含的东西就可以
	//例如Java的之前的东西有
public:
	void content()
	{
		cout << "Java资料" << endl;
	}
};
//Python界面
class Python :public Basepage//子类,这里是进行继承
{
public:
	void content()
	{
		cout << "Python资料" << endl;
	}
};
//C++页面
class CPP :public Basepage//子类,这里是进行继承
{
public:
	void content()
	{
		cout << "C++资料" << endl;
	}
};
//只要有其他的学科仍然可以运用者方法进行公共部分的继承
//再将自己的特色东西再进行写一遍,这样大大减少了代码量,增加了可读性
int main()
{
	cout << "java资料如下" << endl;
	Java p;
	CPP q;
	Python L;
	p.content();
	p.footer();
	p.header();
	p.left();
	cout << "-------------------------------------------" << endl;
	cout << "C++资料如下" << endl;
	q.content();
	q.footer();
	q.header();
	q.left();
	cout << "-------------------------------------------" << endl;
	cout << "python资料如下" << endl;
	L.content();
	L.footer();
	L.header();
	L.left();
	return 0;
}

        大家可以很清晰的看到,用类的继承写出来的代码的代码量变少了,而且增加了可读性,更加美观了,所以说以后当我们遇到大量且重复的代码时,我们就可以运用类的继承来实现代码,到这里就结束了,但是以后这个继承的系列还会持续更新,希望大家可以多多支持小张,小张在这里提前谢谢大家啦! 

  • 83
    点赞
  • 107
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 81
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 81
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小张﹉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值