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;//声明(定义对象),类型为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; 
 	
 }

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

相关推荐

  1. C++定义

    2024-01-23 08:26:03       35 阅读
  2. c++ 定义文件

    2024-01-23 08:26:03       36 阅读
  3. c++ 自定义Logger 日志

    2024-01-23 08:26:03       57 阅读
  4. 实现C++自定义的String

    2024-01-23 08:26:03       33 阅读
  5. C++:定义和实例化

    2024-01-23 08:26:03       25 阅读
  6. c# 一个自定义日志

    2024-01-23 08:26:03       16 阅读
  7. C++学习——模板的使用:自定义数组

    2024-01-23 08:26:03       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-23 08:26:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-23 08:26:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-23 08:26:03       82 阅读
  4. Python语言-面向对象

    2024-01-23 08:26:03       91 阅读

热门阅读

  1. 如何进行技术选型

    2024-01-23 08:26:03       50 阅读
  2. 网络安全小白进阶试题——附答案

    2024-01-23 08:26:03       51 阅读
  3. flask web 学习之用户认证与会话管理

    2024-01-23 08:26:03       56 阅读
  4. 2695. 包装数组

    2024-01-23 08:26:03       54 阅读
  5. 【最新!超详细C++入门】

    2024-01-23 08:26:03       44 阅读
  6. Spring事件发布ApplicationEventPublisher原理

    2024-01-23 08:26:03       51 阅读
  7. 排序算法——冒泡排序算法详解

    2024-01-23 08:26:03       54 阅读
  8. Angular: 配置 proxy 解决跨域

    2024-01-23 08:26:03       53 阅读