当前位置: 首页 > news >正文

C++编程学习(第34天)

类的声明和对象的定义

类和对象的关系

在C++中对象的类型称为类,类代表了某一批对象的共性和特征。类是对象的抽象,而对象是类的具体实例。

在C++中先声明一个类类型,然后用它去定义若干同类型的对象,对象就是类类型的一个变量。可以说,类是对象的模板,是用来定义对象的一种抽象类型。

类是抽象的,不占用内存,不可以直接用来存储数据或进行任何操作,而对象是具体的,是占用存储空间的,用来存储数据,也可以被调用以对数据进行操作。

声明类类型

类是用户自己建立的类型。如果程序中要用到类类型,必须自己根据需要进行声明,或者使用别人已设计好的类,C++标准本身并不提供现成的类的名称、结构和内容。

#include <iostream>
using namespace std;class Student							//以class开头,类名为Student
{int num;							//数据成员char name[20];						//数据成员char sex;							//数据成员void display()						//成员函数{cout << "num:" << num << endl;	//函数中的操作语句}
};Student stu1, stu2;						//定义两个Student类的对象stu1和stu2

对象中的display函数无法启动,因为缺少对外界的接口,外界不能调用类中的成员函数,可以将数据成员设置为私有的,将函数设置为公用的,这样外界就能调用该函数了

声明类的方法是由声明结构体类型的方法发展而来的。

class是声明类时必须使用的关键字,相当于声明结构体类型时必须用struct一样。类体是由一对花括号括起来的,类的声明以分号结束。

在类体中是类的成员表,列出类中全部成员。除了数据类型外,还包括对这些数据操作的函数,这就体现了把数据和操作封装在一起。

如果在类的定义中既不指定private,也不指定public,则系统就默认为是私有的。

类类型声明的一般形式为

class 类名
{
private:
私有的数据和成员函数;
public:
公用的数据和成员函数;
};//private和public称为成员访问限定符,用它们来声明各成员的访问属性。

被声明为私有的成员,只能被本类中的成员函数引用,类外不能调用,友元类除外。被声明为公用的成员,既可以被本类中的成员函数所引用,也可以被类的作用域内的其它函数引用。

在C++程序中,经常用到类,为了用户方便,C++编译系统往往向用户提供类库,内装常用的基本的类,供用户使用。也可以把自己或本单位经常用到的类放在一个专门的类库中,需要用时直接调用,这样就减少了程序设计的工作量。

定义对象的方法

1、先声明类类型,然后再定义对象

2、在声明类的同时定义对象

3、不出现类名,直接定义对象

class 
{
private:
···
public:
···
}stu1,sstu2;
http://www.dtcms.com/a/393185.html

相关文章:

  • 【数据结构与算法Trip第5站】动态规划
  • 防抖那些事儿
  • 【办公类-115-01】20250920信息员每周通讯上传之文字稿整理
  • 深入解析HotSpot解释器方法调用机制:从invokevirtual到方法入口
  • 用AI修复失语者的声音:大模型如何帮助渐冻人重新“说话”?
  • 【ICCV 2023】通过学习采样来学习上采样
  • 有效解决舍入误差的方法
  • count down 90 days
  • GEO完全指南 AI时代的内容优化新范式
  • Npass gate transistor是什么器件?
  • TensorRT-LLM中的in-flight batching(IFB)
  • kaggle-NeurIPS - Open Polymer Prediction 2025-0.069
  • Linux基础网络命令
  • CTFHub 密码口令通关笔记:默认密码
  • IPv6 网络连接与 “v6ns“ 测试失败解决方案
  • C++11之move移动语义
  • 【计算机三级备考】真题总结
  • Linux基础指令(上)
  • Protocol Buffers .NET 运行时从核心 API 到工程实战
  • DFT教程 part1 VASP安装与学习推荐
  • 泛函 Φ(u) 驻点所满足的偏微分方程与自然边界条件
  • 基于springboot的健康饮食营养管理系统
  • C语言入门指南:联合体与枚举
  • JS逆向 -去哪儿滑块
  • C++包装器(Wrapper)概述
  • java后端工程师进修ing(研一版‖day47)
  • 小谈:物联网(IoT)与工业传感器技术
  • python标准库
  • 01 Tasking软件安装及新建工程
  • ​​[硬件电路-288]: 单路双输入异或门(门控开关:两个同时为1,输出为1)NC7SZ86L6X 功能概述与管脚定义