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

C++ 类定义

C++ 类定义

定义一个类需要使用关键字 class,然后指定类的名称,并类的主体是包含在一对花括号中,主体包含类的成员变量和成员函数。

定义一个类,本质上是定义一个数据类型的蓝图,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。

以下实例我们使用关键字 class 定义 Box 数据类型,包含了三个成员变量(可理解为属性) length、breadth 和 height: 

class Box
{
   public:
      double length;   // 盒子的长度
      double breadth;  // 盒子的宽度
      double height;   // 盒子的高度
};

关键字 public 确定了类成员的访问属性。在类对象作用域内,公共成员在类的外部是可访问的。您也可以指定类的成员为 private 或 protected 

定义 C++ 对象

类提供了对象的蓝图,所以基本上,对象是根据类来创建的。声明类的对象,就像声明基本类型的变量一样。下面的语句声明了类 Box 的两个对象:

Box Box1;          // 声明 Box1,类型为 Box
Box Box2;          // 声明 Box2,类型为 Box

格式为  数据类型(自创) 对象;

访问数据成员

类的对象的公共数据成员可以使用直接成员访问运算符 . 来访问。

length和height是自定义的成员变量属性 声明         set()和get()是自定义的成员函数(方法)属性 声明

以下是代码实战

#include<iostream>
using namespace std;
class Box
{public://成员变量属性 声明 double length;//长度double breadth;//宽度double height;//高度 //成员函数(方法)属性 声明double get(void);void set(double len,double bre,double hei); 
};
//成员函数定义
double Box::get(void)
{return length*breadth*height;} void Box::set(double len,double bre,double hei){length=len;breadth=bre;height=hei;}int main(){Box Box1;//声明(定义对象),类型为BoxBox Box2;//声明Box2,类型为BoxBox Box3;//声明Box3,类型为Boxdouble volume=0.0;//用于储存体积//box1详述Box1.height=5.0;Box1.length=6.0;Box1.breadth=7.0;//box2详述Box2.height=10.0;Box2.length=12.0;Box2.breadth=13.0;//box1体积volume=Box1.height*Box1.length*Box1.breadth;cout<<"Box1的体积:"<<volume<<endl;//box2的体积volume=Box2.height*Box2.length*Box2.breadth;cout<<"Box2的体积:"<<volume<<endl;//box3详述Box3.set(16.0,8.0,12.0);volume=Box3.get();cout<<"Box3的体积:"<<volume<<endl;return 0; }

 需要注意的是,私有的成员和受保护的成员不能使用直接成员访问运算符 

http://www.lryc.cn/news/287277.html

相关文章:

  • IntelliJ IDE 插件开发 | (五)VFS 与编辑器
  • 金融OCR领域实习日志(一)
  • CC++编译和链接介绍
  • Element-UI中的el-upload插件上传文件action和headers参数
  • 在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
  • docker相关
  • 生产力工具|卸载并重装Anaconda3
  • 大模型学习与实践笔记(十二)
  • Vulnhub靶机:FunBox 5
  • 性能优化(CPU优化技术)-NEON指令介绍
  • 【极数系列】Flink环境搭建(02)
  • 仓储管理系统——软件工程报告(需求分析)②
  • 立创EDA学习:PCB布局
  • tomcat与Apache---一起学习吧之服务器
  • Vue3的优势
  • 鸿蒙开发案例002
  • Git学习笔记(第9章):国内代码托管中心Gitee
  • 使用k8s 配置 RollingUpdate 滚动更新实现应用的灰度发布
  • MATLAB知识点:mode :计算众数
  • 【JavaWeb】MVC架构模式
  • 【Unity学习笔记】创建人物控制器
  • HCIP:不同VLAN下实现网络互相通信
  • 07 队列
  • 产品面试题2
  • [NSSCTF]-Web:[SWPUCTF 2021 新生赛]easy_md5解析
  • 嵌入式解惑——串口通信中的流控制有什么作用?
  • Kubernetes-Taint (污点)和 Toleration(容忍)
  • python三数之和
  • uniapp 用css animation做的鲤鱼跃龙门小游戏
  • JeecgBoot 3.6.1实现Modal对话框,以为审核数据为例