IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++第六次上机实验总结 -> 正文阅读

[C++知识库]C++第六次上机实验总结

一、实验目的:

①.掌握派生类的声明方法和派生类构造函数的定义方法;

②.掌握不同方式下,基类成员在派生类中的访问属性和访问规则;

二、程序代码:

.h文件


# include <iostream>
using namespace std;

.cpp文件

#include "homework6.h"

class Base
{
public:
	void setx(int i)
	{
		x = i;
	}
		int getx()
		{
			return x;
		}
	int x;
};

class Derived :public Base {

public:
	void sety(int i)
	{
		y = i;
	}
	int gety()
	{
		return y;
	}
	void show()
	{
		cout << "Base::x=" << x << endl;
	}
public:
	int y;
};

int main()
{
	Derived bb;
	bb.setx(16);
	bb.sety(25);
	bb.show();
	cout << "Base::x=" << bb.x << endl;
	cout << "Derived::y=" << bb.y << endl;
	cout << "Base::x=" << bb.getx() << endl;
	cout << "Derived::y=" <<bb.gety()<< endl;
	return 0;
}

三、运行结果:

四、相关问题:

派生类的声明:

?????? ??Class 派生名类:[继承方式] 基类名{

? ? ? ? ? ? ? 派生类新增的数据成员和成员函数

};

派生类构造函数的一般格式:

? ? ? ? ? 派生类名(参数总表): 基类名(参数表)

{

? ? ? ?派生类新增数据成员的初始化语句

}

?五、基类成员在派生类中的访问属性

基类中的成员

共有派生类中的访问属性

私有派生类中的访问属性

保护派生类中的访问属性

私有成员

不可直接访问

不可直接访问

不可直接访问

公有成员

公有

私有

保护

保护成员

保护

私有

保护

总结:

(1)基类中的私有成员。

无论哪种继承方式,基类中的私有成员不允许派生类继承,在派生类中是不可直接访问的。

(2)基类中的公有成员。

当类的继承方式为公有继承时,基类中的所有公有成员在派生类中仍以公有成员的身份出现。?

当类的继承方式为私有继承时,基类中的所有公有成员在派生类中仍以私有成员的身份出现。

当类的继承方式为保护继承时,基类中的所有公有成员在派生类中仍以保护成员的身份出现。

(3)基类中的保护成员。

当类的继承方式为公有继承时,基类中的所有公有成员在派生类中仍以保护成员的身份出现。

当类的继承方式为私有继承时,基类中的所有公有成员在派生类中仍以私有成员的身份出现。

当类的继承方式为保护继承时,基类中的所有公有成员在派生类中仍以保护成员的身份出现。

六、派生类对基类成员的访问规则

1.私有继承的访问规则

基类中的成员

私有成员

公有成员

保护成员

访问方式

内部访问

不可访问

可访问

可访问

对象访问

不可访问

不可访问

不可访问

? ? ? ?当类的继承方式为私有继承时,基类的公有成员和保护成员被继承后作为派生类的私有成员,派生类的成员函数可以直接访问它们,但是在类外部通过派生类的对象无法访问。

2.公有继承的访问规则

基类中的成员

私有成员

公有成员

保护成员

访问方式

内部访问

不可访问

可访问

可访问

对象访问

不可访问

可访问

不可访问

? ? ? ? 当类的继承方式为公有继承时,基类的公有成员被集成到派生类中仍为公有成员,派生类的成员函数可以直接访问他们,在类的外部,也可通过派生类的对象访问它们。基类的保护成员被继承到派生类中仍作为派生类的保护对象,派生类的成员函数可以直接访问它们,但在类的外部,派生类的对象不能访问它们。私有成员在派生类中时不可直接访问的,无论派生类成员函数还是派生类的对象,都无法直接访问基类的私有成员。

3.保护继承的访问规则

基类中的成员

私有成员

公有成员

保护成员

访问方式

内部访问

不可访问

可访问

可访问

对象访问

不可访问

不可访问

不可访问

? ? ? ? 当类的继承方式为保护继承时,基类的公有成员和保护成员被继承到派生类中都作为派生类的保护成员,派生类的其他成员可以直接访问它们,但是在类的外部,不能通过派生类的对象来访问它们。基类的私有成员不允许派生类继承,因此在私有派生类中是不可直接访问的。无论是派生类成员还是通过派生类的对象,都无法直接访问基类的私有成员。

七、实验总结

? ? ? ?本次实验完成了类的继承与派生,了解了不同继承方式,基类成员在派生类中的访问属性以及派生类对基类成员的访问规则,派生属性按从严处理,不可直接访问也可以理解为“上级私有”。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-08 13:38:17  更:2021-12-08 13:40:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:52:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码