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; 
 	
 }

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

相关推荐
三体世界10 分钟前
Mysql基本使用语句(一)
linux·开发语言·数据库·c++·sql·mysql·主键
etcix17 分钟前
wrap cpp variant as dll for c to use
java·c语言·开发语言
Websites1 小时前
Hyperf 百度翻译接口实现方案
开发语言·自然语言处理·php·自动翻译
月殇_木言1 小时前
算法基础 第3章 数据结构
数据结构·算法
John_ToDebug2 小时前
JS 与 C++ 双向通信实战:基于 WebHostViewListener 的消息处理机制
前端·c++·chrome
亮亮爱刷题2 小时前
算法提升之树上问题-(LCA)
数据结构·算法·leetcode·深度优先
papership2 小时前
【入门级-C++程序设计:11、指针与引用-引 用】
c语言·开发语言·c++·青少年编程
岁忧2 小时前
(LeetCode 每日一题) 1780. 判断一个数字是否可以表示成三的幂的和 (数学、三进制数)
java·c++·算法·leetcode·职场和发展·go
常乐か3 小时前
VS2022+QT5.15.2+OCCT7.9.1的开发环境搭建流程
开发语言·qt·opencascade
浩少7023 小时前
LeetCode-16day:栈
java·数据结构·算法