【C++】day06 - 【面向对象的特征】【封装】【继承】【指针与引用的联系与区别】

这篇博客探讨了C++中的面向对象特性,重点介绍了封装和继承的概念、作用及不同继承方式。同时,还详细讲解了指针与引用的联系和区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、面向对象的三大特征

1.1特征

	封装
	继承
	多态

1.2封装

1.2.1封装的概念

		该公开的公开化,该私有的就隐藏掉
		public:
		private:
		protected:
		保护状态的成员的可访问范围比私有成员大,比公有成员小。能访问私有成员的地方都能访问保护成员。

保护状态的成员扩大的访问范围表现在:基类的保护成员可以在派生类的成员函数中被访问。
记住下图即可:
下图第二行是说,父类中的成员对同在父类中的成员的访问权限
下图第三行是说,子类中的成员对父类中的成员的访问权限
下图第四行是说,外部对父类的访问权限。
(父类其实就是基类,子类其实就是派生类。只不过叫法不一样)
在这里插入图片描述

1.2.2封装的作用

		便于工作中的分工和分模块,如:加密解密,别人把加密
			解密功能封装起来,对外仅提供一个接口,供其他人
			使用。再比如让你写一个天气预报的程序,你会天气预报
			知识吗,不会吧,那怎么写程序?你会发现先网上有封装
			好的程序,这个程序提供了公开接口,你去用就行了。
		防止不必要的扩展
			就是说有些功能不让你使用,不让你进行扩展。以防止
			产生事故。

1.3继承

1.3.1继承的概念

		继承就是一种传承,可以把父类型中的数据传承到子类中。子
			类除了传承了父类的数据之外,还可以对父类型进行扩展
			
			其实继承就是,子把父类的空间完全复制下来了,并且子
			还可以在这这个基础上扩展添加成员。

总的来说,记住下面这几个知识点即可:

注:
1、隐藏是指,其不能从父类中继承下来,其仅仅存在父类中
2、我们一般只用公开继承。私有继承和保护继承一般用不到

公开继承

父类:公开-保护-私有
子类:公开-保护-隐藏

私有继承

父类:公开-保护-私有
子类:私有-私有-隐藏

保护继承

父类:公开-保护-私有
子类:保护-保护-隐藏

1.3.2继承的语法

		class A{
			/*这是父类型*/
		};
		class B :public A{
			/*B是A的子类型*/
		};
		class C :public A{
			/*C是A的子类型*/
		};
		class D:public B{
			/*D是B的子类型*/
		};

1.3.3程序举例

#include <iostream>
using namespace std;
class Animal{
   
   
	public:
	string name;
	int age;
	void show(){
   
   
		cout << "this is Animal show()" << endl;
	}
};
class Dog:public Animal{
   
   
	int legs;//增加的成员
	public:
	void fun(){
   
   //增加的成员
		cout << "狗可以看家" << endl;
	}
};
int main(){
   
   
	cout << sizeof(Dog) << endl;
	Dog dog;
	dog.name="testdog";
	dog.show();
	dog.fun
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值