C++基础#1.1:类和对象的介绍以及简单应用

C++: 类图基础介绍、类图绘制 类图 阅读详情

一、一切皆对象

C++是面向对象编程语言,而C语言是面向过程的编程语言C,C++兼容C。

在面向对象编程语言中,一切皆对象。对象是类的一个实例。

二、类和对象的概念

1. 类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。

2. 对象是具有类类型的变量。类和对象是面向对象编程技术中的最基本的概念。
3. 只有对象才占用内存空间,对象是类的一个实例。类,用于描述一类对象的行为和状态。

三、类的定义与对象的创建的简单例子:

1.每个对象都有一个特殊的指针 this,它指向对象本身。
2.指向类的指针方式如同指向结构的指针。在这种情况下,需要用new来创建一个对象。

例:


#include <iostream>
#include <stdio.h>

class Person {
private:
    int age;

public:
    int getAge(){
        return age;
    };

    void setAge(int age){
        this->age = age;
    };
    

};


int main(int argc, const char * argv[]) {
	char arr[] = "Hello";
	char *str = "Hello";
    std::cout << "hello arr:"<<strlen(arr)<<"\n";
    std::cout << "hello str:"<<strlen(str)<<"\n";

    Person p1;
    Person *p2 = new Person();
    p1.setAge(12);
    p2->setAge(15);


    std::cout << "p1.age======"<<p1.getAge()<<"\n";
    std::cout << "p2.age======"<<p2->getAge()<<"\n";


    return 0;
}

四,类的访问修饰符:public、private 或 protected

1. 类成员可以被定义为 public、private 或 protected。默认情况下是定义为 private。

通常情况下,将数据成员设置为private,成员函数设置伟public或protected。在类的继承体系中,不对外暴露的成员函数,通常设置为protected,即仅仅在继承体系中的类可以访问该成员函数。

五、类的三大特性:封装,继承,多态。
面向对象设计思想中,将数据和方法都封装在类中。用类来组织和定义抽象世界。
在后续的学习中,进一步学习封装,继承,多态等相关知识。
 


一切皆对象

【C++ 编程语言学习1】 类&对象详解 目录  类的基本概念、类成员函数、类访问修饰符、构造函数&amp;析构函数、C++拷贝构造函数、C++友元函数、C++中的this指针、C++中指向类的指针、C++类的静态成员 一、类的基本概念    类是把属性和方法进行封装,同时对类的属性和方法进行访问控制(类可以把自己的属性和方法只让可信的类或者对象操作,对不可信的进行信息的隐藏) 类是由我们根据客观事物抽象而成,形成一类事物,然后... 阅读详情

相关推荐

c++初阶——类和对象(中)

大家看我们在调用fund2时是采用值拷贝,将实参的值拷贝给形参,_add指针存放的是一个指向动态开辟空间的地址,在值拷贝时,将值拷贝,当fund2函数结束时要销毁栈帧,就会将_add指针指向的空间一起销毁,然后当我们的程序走完后又会自动调用析构函数,又会将这块空间再次free一次,所以这里程序崩溃了。(这里编译器是强制报错的)我们知道类在调用成员函数时有一个this指针,它是指向调用函数的对象的,它的类型是date*的类型而我们调用函数的对象是从const date的类型,所以无法调用,那怎么才能调用呢?

LGFaiJC的博客 1025

C#类的定义

在C#语言中创建的任何项目都有类的存在,通过类能很好地体现面向对象语言中封装、继承、多态的特性。 类的访问修饰符:用于设定对类的访问限制,包括 public、internal 或者不写,用 internal 或者不写时代表只能在当前项目中访问类;public 则代表可以在任何项目中访问 类。 修饰符:修饰符是对类本身特点的描述,包括 abstract、sealed 和 static。abstract 是抽象的意思,使用它修饰符的类不能被实例化;sealed修饰的类是密封类,不能 被继承;static修饰

m0_46408680的博客 3245

高光谱图像处理和分析软件(包含雷尼绍Renishaw wdf 文件导入解析功能)

是一款基于微软windows操作系统的多传感器成像工具,用于处理和分析高光谱图像。它是一个模块化的系统,由一个基本的引擎,一个图形用户界面,一个化学计量工具箱和可选的用户提供的模块组成。它支持最重要的光谱成像技术,如UV/Vis、红外、拉曼、太赫兹、光发射/吸收和质谱。除此之外,还允许用户将高光谱图像与物理属性图和传统高分辨率彩色照片合并在一起 链接:https://pan.baidu.com/s/1ruQ5YSh5_ZS9wx_V3Q5Oow 提取码:qdx0 ...

业余程序员小徐的博客 8072

C++类和对象的简单应用举例

类和对象的简单应用举例 经过前面的学习,我们掌握了类的定义,通过类来定义对象,然后,访问对象的成员变量和成员函数。下面,我们通过一个例子来深入讲解这些知识点。测试代码如下: 程序运行结果如下: ...

LC的专栏 1839

CSIT883系统分析与项目管理——Lecture3重点概念

🎈本节课,介绍了项目集成管理当中,关于NPV这个概念相关的内容,以及介绍什么是系统需求,什么时候需要开始系统需求,如何进行调查系统需求等等相关的题目,这里供大家复习参考吧!还有还有最关键的是NPV的计算,我单独写一篇博文,需要的同学快去学习吧!

AI手套的博客 1090

逆向实战:Soul聊天协议加密与Frida绕过检测

本文详细解析了Soul聊天协议逆向分析的全过程,重点介绍了如何利用Frida绕过应用的反调试检测机制。通过静态分析定位关键SO库,并编写Frida脚本动态Hook线程创建函数,成功实现对抗。文章还进一步追踪了基于DES算法的加密流程,并探讨了协议数据结构的解析方法,为移动应用安全研究提供了实战参考。

2w3e4r5t6y的博客 1133

Python编程汇总

Python基础知识 1. 介绍关于自己的一些详细信息 首先通过用户终端输入自己的学号、姓名、性别、出生日期、用户名、所修的课程和所选的教材等基本信息。 然后判断自己的出生年份是否为闰年、创建的用户名是否合法。 最后通过用户终端将所有信息和判断结果输出。 代码: student = input("Please enter your student ID:") name = input("Please enter your name:") gender = input("Please enter your

计忆芳华的博客 7458

实战:如何通过修改VTS和HTS调整GC4653 sensor帧率(附完整计算步骤)

本文以GC4653图像传感器为例,详细解析了通过修改VTS和HTS寄存器来精确调整输出帧率的完整流程。文章深入剖析了帧率计算公式FPS = PCLK / (VTS × HTS)的核心原理,并提供了从获取寄存器参数、计算目标VTS值到系统验证的实战步骤,帮助工程师掌握独立优化Sensor性能、提升低照度画质的关键技能。

gin88的博客 338

HDU 5104 Primes Problem

比赛后

qqcyclone的专栏 792

基于PLC智能立体车库控制系统设计

摘要 本系统设计以三层立体车库为研究对象,通过对立体车库的原理分析、动作流程设计和一系列的软硬件设计,达到立体车库自动化控制的目的。系统采用可编程控制器作为立体车库控制系统的控制单元,实现该系统的工艺要求,通过程序仿真调试,完成系统的各种动作要求,达到自动控制的目的。系统设计分为总体设计、硬件设计以及软件设计。按照立体车库控制系统的控制策略进行图纸设计;重点分析工艺流程图,对立体车库控制系统进行程序编译和MCGS上位机调试,通过系统的调试和修改,达到了基本控制的要求。系统设计明确了工艺要求,确定

DX884164131的博客 3600

2.2.1.3-移动平均线(python画k线、均线、5日线、买卖点图、python均线策略)

* 绘制一个k线图,也就是蜡烛图 * 计算5日均线值、10日均线值 * 在k线图上,绘制5日线和10日线图 * 在5日线上,绘制与10日线的交叉点(上穿、下穿时) python画k线、均线、5日线、买卖点图、python均线策略

KelvinLiu 3413

C++初识类和对象

一文带你初步认识面向对象、类和对象

cp 2473

VN5620以太网测试——环境搭建篇

CANoe(CAN open environment)VN5620 :是一个紧凑而强大的接口,用于以太网网络的分析、仿真、测试和验证。VN5620 接口支持各种可能的应用。它适用于与其他总线系统、网络参与(例如在模拟和生成帧、测试中的负载和错误)的同步以太网监控。在2021年Vector公司的以太网接口卡VN5610和VN5640设备已经陆续停产,相应被VN5620和VN5650代替。

诊断协议那些事儿's blog 8935

Python类和对象-给你介绍个对象?

大过年的,来都来了,要不给你介绍个对象?

有一分热,发一分光。 6835

Agentic-Desktop-Pet:构建本地智能桌面助手的架构与实践

智能体(Agent)作为人工智能领域的重要概念,是指能够感知环境、自主决策并执行任务以实现目标的软件实体。其核心原理在于结合感知、决策与执行模块,通过大语言模型(LLM)等推理引擎处理信息并驱动行动。这种架构的技术价值在于将AI的认知能力与具体的操作系统环境深度融合,从而创造出能主动理解用户上下文、提供个性化服务的智能伙伴。在应用场景上,智能体技术正从云端对话机器人向本地化、场景化的桌面助手演进,旨在解决传统自动化工具缺乏智能、而纯聊天机器人脱离操作环境的问题。本文探讨的Agentic-Desktop-Pe

weixin_27210125的博客 623

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【Cpp】类和对象#拷贝构造 赋值重载

Cpp,类和对象,拷贝构造,赋值重载,浅拷贝与深拷贝

石墨博客 930

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

# C++OOP对象和类

C++OOP对象和类 本文将从入门的角度介绍C++OOP中的类和对象,事实上C++的类和对象远远不止本文所介绍的内容。 不过如果你感兴趣,我会把其他的内容逐一通过文章的形式介绍给你。 1.预备知识 面向对象编程(OOP)是一种特殊的、设计程序的概念性方法,C++通过一些特性改进了C语言,使得应用这种方法更加容易。下面是最重要的OOP特性: 抽象 封装和数据隐藏 多态 继承 代码可重用性 (来自C++Primer Plus 第六版,人民邮电出版社) 为了实现上述特性并把它们结合在一起,C++提供了类和对象

SimpleAstronaut的博客 295

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【Cpp】类和对象#构造函数 析构函数

但是st1的类没有写析构函数,也只是调用默认生成的析构,这时,st1中的动态申请的堆空间就无法释放了,造成内存泄漏)默认生成虽然好,但是如果默认生成的构造/析构函数在调用时由于只处理自定义类型,如果自定义类型的构造/析构没有写,那么即使是默认生成的函数,本质上也是没有做任何工作。构造函数是特殊的成员函数,需要注意的是,构造函数虽然名称叫构造,但是构造函数的主要任务并不是开空间创建对象,而是初始化对象。与构造函数功能相反,析构函数不是完成对对象本身的销毁,局部对象销毁工作是由编译器完成的。

石墨博客 1436

C++ - 类和对象 # 类的定义 #访问限定符 #类域 #实例化 #this 指针 #C++ 与 C语言的比较

class为定义类的关键字,Stack 为类的名字,{} 中为类的主体,注意类定义结束的时候其后面的分号不可以省略。类体中的内容称为类的成员:类中的变量称为类的属性或成员变量,类中的函数称为类的方法或者成员函数。为了区分成员变量,一般习惯上成员变量会加一个特殊的标识,如成员变量前或者后面加 _ 或者 m 开头,注意C++ 中这个并不是强制的,只是一些惯例,具体需要看公司的要求;C++ 中 struct 也可以定义类,

Distinguished_z的博客 1028

C++ 面向对象编程基础:基础常识、对象、类、封装、继承

/ C语言宏定义(预处理器)#define PI3.14159// C++ const常量(编译时)// C++11 constexpr(编译时常量表达式)

2301_80436820的博客 848

#类和对象(1)

这个类域的使用场景是 当我们类里面的函数需要定义和声明分开时 为了使类能找到函数实现的位置 必须在定义的时候在函数名前面加上::来确定我要定义的是哪个类的函数 因为不同的类可能存在名字相同的函数。this指针其实就是指向自己对象的一个指针 当我们在类里面实现一个函数的时候 当我们需要用自己的对象的时候 就不需要再以传参的形式来传自己了 我们只需要通过不同的场景将外面的对象作为形参传进来即可。类定义了⼀个新的作⽤域,类的所有成员都在类的作⽤域中,在类体外定义成员时,需要使⽤ :: 作。

2302_79210199的博客 505

【C++】类和对象

类和对象入门

初学者的博客 748

Python基础语法篇(三):类和对象

文章目录一、类和对象介绍二、类的定义和创建实例三、类属性定义及其访问四、类中普通方法定义及调用五、私有属性六、构造方法七、析构方法八、常用内置方法九、继承十、类方法和静态方法 一、类和对象介绍 二、类的定义和创建实例 三、类属性定义及其访问 四、类中普通方法定义及调用 五、私有属性 六、构造方法 七、析构方法 八、常用内置方法 九、继承 十、类方法和静态方法 ......

qq_42871783的博客 3398

# C++类和对象剖析

​类其实是C语言中结构体的升级,与C语言相比,c++中的类不仅支持成员变量,还支持成员函数。

qq_62236390的博客 265

c++类和对象【通俗易懂】

c++面向对象的实现,类和对象的基本特征和属性

m0_73451795的博客 1083
上一篇: 各国软件之路
下一篇: C语言中的内存空间,内存分配malloc
liranke
博客等级 码龄20年 4939粉丝 594原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值