《c++》继承语法

1.在c++中什么是继承

继承是面向对象编程中的一个基本概念,它允许一个类(称为子类或派生类)从另一个类(称为父类或基类)继承属性和方法。子类可以继承父类的非私有成员,并且可以添加自己的新成员或覆盖父类的成员。

2.继承有什么好处

  1. 代码重用:继承允许子类直接使用父类的属性和方法,避免了代码重复编写。这提高了代码的可维护性和可复用性。

  2. 层次化组织:通过继承,可以将对象按照层次化的方式组织起来。子类可以继承父类的特征,从而形成类的层次结构。这使得代码更加清晰和易于理解。

  3. 扩展和修改:通过继承,可以对现有的类进行扩展和修改,而无需修改原始类的代码。子类可以添加新的功能或修改父类的行为,从而满足特定的需求。

  4. 多态性:继承的概念是实现多态性的基础。多态性是指同一个方法名可以在不同的类中具有不同的实现,通过继承,可以使用统一的接口来处理不同类型的对象。

3.如何使用继承

结合代码进行理解

cpp 复制代码
#include <iostream>
using namespace std;
//普通实现页面
//class  Java {
//public:
//	void header() {
//		cout << "首页、公开课、登录、注册...(公开头部)" << endl;
//	}
//	void footer() {
//		cout <<"帮助中心、交流合作、站内地图...(公共底部)"<<endl;
//	}
//	void left() {
//      cout<<"Java、paython、c++...(公共分类列表)"<<endl;
//	}
//	void conrent() {
//		cout<<"Java学科视频"<<endl;
//	}
//
//
//};
//
python页面
//class  Python {
//public:
//	void header() {
//		cout << "首页、公开课、登录、注册...(公开头部)" << endl;
//	}
//	void footer() {
//		cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
//	}
//	void left() {
//		cout << "Java、paython、c++...(公共分类列表)" << endl;
//	}
//	void conrent() {
//		cout << "Python学科视频" << endl;
//	}
//
//
//};
//
c++页面
//class  cpp {
//public:
//	void header() {
//		cout << "首页、公开课、登录、注册...(公开头部)" << endl;
//	}
//	void footer() {
//		cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
//	}
//	void left() {
//		cout << "Java、paython、c++...(公共分类列表)" << endl;
//	}
//	void conrent() {
//		cout << "c++学科视频" << endl;
//	}
//
//
//};



//继承实现页面
//公共页面类
class BasePage {
public:
	void header() {
		cout << "首页、公开课、登录、注册...(公开头部)" << endl;
	}
	void footer() {
		cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
	}
	void left() {
		cout << "Java、paython、c++...(公共分类列表)" << endl;
	}
};
//继承的好处:可以减少重复代码
//语法:class 子类名 :public(继承方式) 父类名{  };
//子类 也称为派生类
//父类 也称为基类

//Java页面
class Java :public BasePage {
	public:
		void conrent() {
			cout << "Java学科视频" << endl;
		}


};
//Python页面
class Python :public BasePage {
	public:
		void conrent() {
			cout << "Python学科视频" << endl;
		}

};
//c++页面
class cpp :public BasePage {
	public:
		void conrent() {
			cout << "c++学科视频" << endl;
		}

};

void test01() {
	cout<<"Java下载视频页面如下:"<<endl;
	Java java;
	java.header();
	java.footer();
	java.left();
	java.conrent();

	cout<<"----------------------------------------------------"<<endl;
	cout << "paython下载视频页面如下:" << endl;
	 Python python;
	python.header();
	python.footer();
	python.left();
	python.conrent();
	cout << "----------------------------------------------------" << endl;
	cout << "c++下载视频页面如下:" << endl;
	cpp cpp;
	cpp.header();
	cpp.footer();
	cpp.left();
	cpp.conrent();


}


int main() {
	test01();
	return 0;
}
相关推荐
测试员周周4 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
杜子不疼.6 小时前
【C++ AI 大模型接入 SDK】 - DeepSeek 模型接入(上)
开发语言·c++·chatgpt
加号36 小时前
【C#】 串口通信技术深度解析及实现
开发语言·c#
sycmancia7 小时前
Qt——编辑交互功能的实现
开发语言·qt
石山代码7 小时前
C++ 内存分区 堆区
java·开发语言·c++
无风听海8 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠8 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
LuminousCPP9 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
web3.08889999 小时前
1688 图搜接口(item_search_img / 拍立淘) 接入方法
开发语言·python
张小姐的猫9 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++