C++ 类定义

C++ 类定义

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

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

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

class Box

{

public:

double length; // 盒子的长度

double breadth; // 盒子的宽度

double height; // 盒子的高度

};

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

定义 C++ 对象

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

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

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

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

访问数据成员

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

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

以下是代码实战

cpp 复制代码
#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;//声明(定义对象),类型为Box
	Box Box2;//声明Box2,类型为Box
	Box Box3;//声明Box3,类型为Box
	double 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; 
 	
 }

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

相关推荐
Darling噜啦啦3 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
clint4563 天前
C++进阶(1)——前景提要
c++
夜悊3 天前
C++代码示例:进制数简单生成工具
c++
郝学胜_神的一滴3 天前
CMake 021: IF 条件判据详诠
c++·cmake
_wyt0014 天前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
LDR0064 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术4 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园4 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob4 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
小小工匠4 天前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化