C++类的封装

C++类与封装的概念 --事物的难度远远低于对事物的恐惧!     这节我们来学习类与封装的概念,我们知道,一般电脑都是由CPU、内存、主板、硬盘等部件组合组成,像下边这样     但是我们组装电脑的时候,仅仅是把硬盘、内存、CPU、主板等这些部件的接口相互连接起来就行,我们不会去关注硬盘、CPU、主板等他们的内部是怎么实现的,组装电脑并不需要去了解学习硬盘的设计、主板的设计,直接用他们的接口就行,这就是封装一... 阅读详情
1 private,public,protected的访问范围:
private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问. 
protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问 
public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问
注:友元函数包括两种:设为友元的全局函数,设为友元类中的成员函数
/**类的封装**/
class MyCircle
{
	/*未指定变量的属性*/
public:
	int val;
private:
	double circle_r;
	double circle_s;
	double Circumference;/*周长*/
public:
	void Set_circle_r(double C_r)
	{
		circle_r = C_r;
	}
	double Circle_area()
	{
		circle_s = 3.14*circle_r*circle_r;
		return circle_s;
	}
	double ThisCircumference()
	{
		Circumference = 2 * 3.14* circle_r;
		return Circumference ;
	}

};
void PrintfCircleInfo(MyCircle &Circle)
{
	cout << "  circle_r=" << Circle.Circle_area()<<endl;
	cout << "Circumference=" << Circle.ThisCircumference()<<endl;
}
int main()
{
	MyCircle C1;/*定义对象*/
	C1.Set_circle_r(5);
	PrintfCircleInfo(C1);
	system("pause");
	return 0;
}
在class中未指定访问范围的变量或者成员函数,其默认为private属性,不能被类意外的类或者函数使用

2
class和struct
在class中未指定访问范围的变量或者成员函数,其默认为private属性,不能被类意外的类或者函数使用,但是在struct中未指定访问范围的成员变量默认为public属性,对于外部函数或者类可见;
【C++】多个类的DLL封装及调用 网上大多是将函数封装成dll的教程,类的封装也是基本相似的。 创建DLL 在VS2010中新建一个win32->dll工程。如我建立的工程名为FaceDLL 添加facedll.h的头文件(里面定义dll的接口,调用时会用到) #pragma once #ifdef FaceLIBDLL #define FACEAPI _declspec(dllexport) #else #defin 阅读详情

相关推荐

【面试题一的补充】C++ MyString类的封装

一,C++ MyString类的封装

zling_1989的专栏 1944

用C++的random库生成更好的随机数

传统的rand() + srand()生成随机数的方法有好些问题,习以为常的取得一定范围间随机数的算法也有不够均匀的弊端;建议大家采用C++ 11引入的random库来生成随机数。可悲的是,写这篇文章时,“C++随机数”关键字的中文搜索结果前几个基本没有提到这些问题。

henry_23的博客 4万+

linux操作系统下C++封装的基础库

使用c++语言实现linux操作系统下的基础库开发,主要有多线程,锁,异步通信,信号等类封装。在今后的linux下c++开发提供基础库的支持,只需完成业务需求即可。附有异步通信测试程序。本基础库还有不完善的地方,大家的意见可以邮件给我,在此不胜感激。

【C++】random随机数与【C++11】/rand()和srand()的用法

文章目录随机数1. c++ 11 random随机数的使用(推荐使用)1.11.21.31.42.1 C++中随机函数rand()和srand()的用法(老本版)2.2 限制随机数的范围 随机数 C++ 提供了一组函数以生成和使用随机数字。随机数字就是从一组可能的值中进行随机选择而获得的一个值。该组中的值都有相同的被选中的几率。 随机数字常用于许多不同类型的程序中,以下是一些示例: 计算机游戏通常要使用随机数字来模拟一些随机过程,例如掷骰子或发牌。 模拟程序使用随机数字来决定后续将要发生的一系列操作或人与动

格物致知 5748

RSA加密解密之Linux C语言版

本是网络上找到的VC工程,拿来改了改,可以在Linux下编译运行了,在VC下行不行我没测试过,请自行测试,我估计问题不大,因为我都用的标库。 作了移植的同时,改了点BUG。

RSA 加密解密算法C语言 (含linux)

RSA 加密解密算法C语言 (含linux)内含代码加实例

C random C ++rand函数应用

random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。但在C语言中int random(num)可以这样使用,它返回的是0至num-1的一个随机数。  可改用C++下的rand函数来实现。 rand()%n   范围  0~n-1 rand()主要是实

HONDELY的专栏 2万+

用C++封装的CRandom类

C++封装的用于产生随机数的类。用法很简单,可以产生指定范围的随机整数,浮点数,布尔值等等。

基于C++11 随机数的封装类Random

【代码】基于C++11 随机数的封装类Random。

cnjhk2012的博客 468

Linux下将Socket封装为C++类

详细介绍了Linux系统下的Socket原理,并将Socket封装成了C++库,可以直接调用Socket类进行编程

不到200块!手把手教你用ZYNQ7010和AD9363攒一台自己的开源SDR硬件(附BOM清单)

本文详细介绍了如何用不到200元的预算,基于ZYNQ7010 FPGA和AD9363射频芯片打造一台功能完备的开源SDR硬件平台。从核心组件选型、PCB设计到焊接调试,提供全流程实战指南,特别适合预算有限的硬件爱好者和创客群体探索无线通信世界。

weixin_26854829的博客 483

C++ random库

参考博客 C++11 random库 rand函数的问题 C库函数rand生成的是均匀分布的伪随机数,每个随机数的范围在0和一个系统相关的最大值(至少为32767)之间。 rand函数的问题是:很多程序需要不同范围的随机数,一些应用需要随机浮点数,以及非均匀分布的随机数。为了解决这些问题,通常会转换rand生成的随机树的范围、类型或者是分布,转换的操作常常会引入非随机性。 在c++11标准中,定义在头文件random中的随机数库通过一组协作的类来解决这些问题,主要用到的是两个类: 随机数引擎类(r.

qq_45797026的博客 1万+

从网格划分到端口接地:一份给ADS新手的Momentum RF仿真避坑实操指南

本文为ADS新手提供Momentum RF仿真的实用指南,涵盖网格划分、端口接地、特殊结构处理等关键设置技巧。通过30-50 cells/λ原则、1/10波长限制等黄金法则,帮助用户平衡仿真精度与效率,避免常见错误,提升电磁仿真结果的准确性。

weixin_33692284的博客 506

封装:类的cpp和h文件的分离

VS 2013中 类的创建; 怎么创建类; 对类的封装的理解; 阅读建议用时:37min

msInfoSec的博客 1445

科研指南:IEEE期刊LaTeX/Word模板下载与使用全解析

本文详细解析了IEEE期刊LaTeX/Word模板的下载与使用技巧,帮助科研人员高效完成论文排版。从官方模板获取入口到LaTeX文档结构配置,再到Word样式管理与常见问题解决方案,全面覆盖投稿准备的关键步骤。特别针对数学公式、参考文献和图片处理等难点提供实用建议,助力学术写作规范化。

weixin_28396629的博客 567

Cobalt Strike4.0安装包(内附中文版)

1.什么是 Cobalt Strike Cobalt Strike 是一个为对手模拟和红队行动而设计的平台,主要用于执行有目标的攻击和模拟高级威胁 者的后渗透行动。 Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、W...

梦之序章的博客 2万+

C++ Builder 2010 如何封装代码(通过定义类实现)

封装是一种编程技术,它将数据和操作数据的方法封装在单个单位中,以保护数据的隐私和安全。 如果我们直接访问和修改数据,可能会导致数据的损坏或泄露,所以,为防止外部的非法访问和修改、提高代码的可重用性、降低代码的耦合度、提高代码的可维护性,我们需要对代码进行封装。 封装可以通过定义类(Class)来实现。类是一种数据结构,它封装了数据和操作数据的方法。

God_me_1的博客 1587

JDK8升级JDK17过程中遇到的那些坑

JDK8虽然非常好,但是JDK版本已经发布到JDK20了,且JDK8后的版本升级了很多新的特性,如模块化、ZGC以及虚拟线程、结构性并发等,也是非常有吸引力的,所以决定将基于JDK8的项目升级到最近的LTS版本JDK17。

BASK2312的博客 6686

C++类的封装 | 类的封装

C++公用接口与私有实现的分离 C++通过类来实现封装性,把数据和与这些数据有关的操作封装在一个类中,或 者说,类的作用是把数据和算法封装在用户声明的抽象数据类型中,在声明了一个类以后,用户主要是通过调用公用的成员函数来实现类提供的功能 C++公用成员函数是用户使用类的公用接口或者说是类的对外接口,当然并不一定要把所有成员函数都指定为public的,但这时这些成员函数就不是公用接口了。 C++类外虽然不能直接访问私有数据成员,但可以通过调用公用成员函数来引用甚至修改私有数据成员,用户可以调用公用成员函数来实

weixin_48669767的博客 2357

CloudCompare点云变换保姆级教程:从平移、旋转到绕任意点旋转,一次搞定

本文提供CloudCompare点云变换的全面教程,涵盖从基础平移、旋转到绕任意点旋转的高级技巧。通过详细的操作步骤和实战案例,帮助用户掌握点云数据处理的核心技能,提升三维模型对齐和变换的效率与精度。

weixin_28717969的博客 291

Python操作WPS文档

在Python中,我们可以使用第三方库来操作WPS文档,实现自动化的文档处理。本文将介绍如何使用Python来打开、读取、修改和保存WPS文档的内容。库,我们可以打开、读取、修改和保存WPS文档的内容。你可以根据自己的需求进一步扩展和优化这些代码,实现更复杂的文档处理功能。安装完成后,我们就可以开始使用它来操作WPS文档了。方法将修改后的文档保存到指定的路径。方法将修改后的文档保存到指定的路径。在上面的代码中,我们通过修改段落的。属性,可以改变段落的文本内容。完成对文档的修改后,我们可以使用。

2301_79366177的博客 5617

【C++】类的封装

本篇文章就类的封装,讲到数组类封装,字符串类封装。

2301_80035097的博客 405

openGauss学习笔记-280 openGauss性能调优-实际调优案例09-修改启动参数解决TPCC大幅度波动

openGauss学习笔记-280 openGauss性能调优-实际调优案例09-修改启动参数解决TPCC大幅度波动280.1 现象描述280.2 优化分析 openGauss学习笔记-280 ope

超哥的博客 309

【C++】10_C++ 中 类 的封装

类内声明,类外定义:在类的内部只进行函数的声明,而函数的定义在类的外部完成。通常用于保持类的定义简洁,便于维护较大的程序。类内声明,类内定义:在类的内部同时进行函数的声明和定义。适合简短的函数,能让类的定义更紧凑。public:// 类内声明// 类外定义// 调用类外定义的函数return 0;public:// 类内声明和定义// 调用类内定义的函数return 0;

w1234jn的博客 665

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

C++核心——类的封装

C++核心——类的封装 封装是一种思想,简单的理解,就像是一个黑盒子,内部有一堆东西,外部留了一些说明(一般称为接口)供使用,不必在意内部是什么东西,只要知道是干嘛的就好,这也符合生活的事务的规律,例如电脑,它预留出了键盘、屏幕等交互设备,你知道怎么用这些东西就好,不必知道内部怎么实现的,而且封装的好处还有一个就是,我想让你知道的你就能知道,我不想让你知道的你就没法知道,比如,当你足够牛的时候,L...

wtzhu_13的博客 1654

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: C++引用-指针的应用与常引用
下一篇: linux的tcp/udp网络编程模型
LiBin1103
博客等级 码龄9年 38粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值