C++速学day1

server/2024/12/22 9:03:40/

抽象

        数据抽象
        功能抽象

即抽象出对某些东西的共性,比如说人的名字,性别,年龄,人的行为,吃饭,走路,工作学习之类。用C++的函数来表达。对同一个研究对象,由于研究的问题侧重点不同,也可能形成不同的抽象结果。

封装

        

class Circle
{
public:Circle(double r = 0);void set_r(double r = 0);double area();
private:double radious;double pai = 3.14;
};

比如说一个抽象出的圆的定义:

首先用class 来进行封装。class就是类的定义。 

(类和对象就是抽象和具体的关系)

封装中的参数:

1、有三种关键字:private    protected  public   //这些个关键字从出现开始到下一个关键字为止失效

public:   //类的使用者只能使用public这个成员

这些关键字的意义:让这些数据的成员不能被调用只能通过函数与其产生一定的联系。
                                (调用方法:  对象.类中函数   )

封装中重要的函数:

构造函数:
    1、不带返回值
    2、函数命名与本类的类名相同
    3、系统提供的这个构造函数是不带参的,并且是空的

Point(int x=0, int y=0):m_x(x),m_y(y)
{cout<<"Point(int )" <<endl;
}

复制构造函数:

 Point(const Point &other):m_x(other.m_x),m_y(other.m_y){cout<<"&Point" <<endl;}

析构函数:

  --> ~函数名
(析构函数不能传参数)    //不能被重载 

~Point(){cout<<"~Point" <<endl;}

函数后面的“:” 代表对对象的初始化 ,与在程序中效果 相同 但初始化效率更快。


http://www.ppmy.cn/server/96509.html

相关文章

CSS3中的3D变换

CSS3中的3D变换&#xff08;3D Transformations&#xff09;允许我们在网页中创建3D效果的元素。它提供了一系列的属性和方法&#xff0c;可以将元素沿x、y和z轴进行移动、旋转、缩放和倾斜。 以下是CSS3中常用的3D变换属性&#xff1a; 1. transform-style&#xff1a;定义了…

HCIP笔记4-OSPF(2)

OSPF2: OSPF的不规则区域 1.远离骨干的非骨干区域 1)不连续骨干 由于区域水平分割&#xff08;从一区域来的路由不能回到该区域&#xff09;导致的两个骨干拿不到对方的路由 解决方案&#xff1a; 2)tunnel---点到点GRE 在合法与非合法ABR间建立隧道&#xff0c;然后将其…

tls.go中的流程梳理

文章目录 tls.go中的流程梳理b站博主的 tls 加密过程自己推理的过程(未完待续)发送ClientHello获取ServerHello tls.go中的流程梳理 b站博主的 tls 加密过程 客户端发送ClentHello(tls版本 加密套件 随机数1)服务器发送ServerHello(tls版本 加密套件 随机数2) 这个阶段之后&…

OpenHarmony网络请求库-httpclient

简介 HTTP是现代应用程序通过网络交换数据和媒体的的主要方式。httpclient是OpenHarmony 里一个高效执行的HTTP客户端&#xff0c;使用它可使您的内容加载更快&#xff0c;并节省您的流量。httpclient以人们耳熟能详的OKHTTP为基础&#xff0c;整合android-async-http&#xf…

OpenGL ES->工作机制

渲染流程 渲染目的&#xff1a;输入3D立体坐标&#xff0c;输出绘制后的2D平面像素工作流程&#xff1a;顶点着色器->图元装配->几何着色器->光栅化->片段着色器->测试与混合&#xff0c;整个工作流程被封装在GPU内部&#xff0c;无法改变。运行在CPU的代码调用…

众人帮蚂蚁帮任务平台修复版源码,含搭建教程。

全修复运营版本的任务平台&#xff0c;支持垂直领域细分&#xff0c;定向导流&#xff0c;带有排行榜功能&#xff0c;任务发布上传审核&#xff0c;用户信用等级&#xff0c;充值接口等等均完美可用。支付对接Z支付免签接口&#xff0c;环境配置及安装教程都已经打包。 搭建环…

Debian | Vscode 安装与配置 C 环境

Debian | Vscode 安装与配置 C 环境 安装 vscode sudo apt update sudo apt install software-properties-common apt-transport-https curlcurl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -sudo add-apt-repository "deb [archamd64…

2023大数据-架构师案例(八)

Lambda架构 nginx &#xff08;b&#xff09; Hbase &#xff08;c&#xff09;Spark Streaming &#xff08;d&#xff09;Spark &#xff08;e&#xff09;MapReduce &#xff08;f&#xff09;ETL &#xff08;g&#xff09;MemSQL &#xff08;h&#xff09;HDFS &#x…