首页 > 编程语言 >c++笔记

c++笔记

时间:2024-09-26 17:50:48浏览次数:8  
标签:函数 double 成员 笔记 public c++ void 构造函数

类和对象

类用于指定对象的形式,是一种用户自定义的数据类型,它是一种封装了数据和函数的组合。

类中的数据称为成员变量,函数称为成员函数。类可以被看作是一种模板,可以用来创建具有相同属性和行为的多个对象。

一、定义类

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

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

img

class myclass
{
    Access specifilers:    //访问修饰符:private/public/protected 三种标识符
           Date members/variables;    //变量
           Member functions(){}      //成员函数
};                //结束一个类

例子:使用关键字 class 定义Box数据类型,包含了三个成员变量 lengthbreadthheight

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

二、定义对象

类提供了对象的蓝图,所以基本上,对象是根据类来创建的。声明类的对象,就像声明基本类型的变量一样。

对象是拥有相同属性和行为(函数)的类的实例化结果。

**例子:**声明类 Box 的两个对象,Box1Box2

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

三、访问数据成员

类的对象的**公共数据成员(public)**可以使用直接成员访问运算符 . 来访问。**私有的成员和受保护的成员(private & protected)**不能使用直接成员访问运算符 *.*来直接访问

img

例子:

#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;        // 声明 Box1,类型为 Box
   Box Box2;        // 声明 Box2,类型为 Box
   Box Box3;        // 声明 Box3,类型为 Box
   double volume = 0.0;     // 用于存储体积
 
   // box 1 详述
   Box1.height = 5.0; 
   Box1.length = 6.0; 
   Box1.breadth = 7.0;
 
   // box 2 详述
   Box2.height = 10.0;
   Box2.length = 12.0;
   Box2.breadth = 13.0;
 
   // box 1 的体积
   volume = Box1.height * Box1.length * Box1.breadth;
   cout << "Box1 的体积:" << volume <<endl;
 
   // box 2 的体积
   volume = Box2.height * Box2.length * Box2.breadth;
   cout << "Box2 的体积:" << volume <<endl;
 
 
   // box 3 详述
   Box3.set(16.0, 8.0, 12.0); 
   volume = Box3.get(); 
   cout << "Box3 的体积:" << volume <<endl;
   return 0;
}
//结果
Box1 的体积:210
Box2 的体积:1560
Box3 的体积:1536

四、类成员函数

类的成员函数是指那些把定义和原型写在类定义内部的函数,就像类定义中的其他变量一样。

类成员函数是类的一个成员,它可以操作类的任意对象,可以访问对象中的所有成员。

之前定义的类 Box,现在我们要使用成员函数来访问类的成员,而不是直接访问这些类的成员。

class Box
{
   public:
      double length;      // 长度
      double breadth;     // 宽度
      double height;      // 高度
   
      double getVolume(void)
      {
         return length * breadth * height;
      }
};

成员函数可以定义在类定义内部,或者单独使用范围解析运算符 :: 来定义。也可以在类的外部使用范围解析运算符**:

标签:函数,double,成员,笔记,public,c++,void,构造函数
From: https://blog.csdn.net/m0_51634066/article/details/142432712

相关文章

  • C++—单例设计模式
    单例设计模式C++中的单例设计模式是一种常用的软件设计模式,其核心目的是确保一个类仅有一个实例,并提供一个全局访问点来获取这个实例。以下是对C++单例设计模式的详细解释:一、单例设计模式的定义单例模式(SingletonPattern)是一种创建型设计模式,它确保一个类只有一个实例,......
  • 【笔记】微分几何(40420644)
    [40420644]微分几何(DifferentialGeometry)开课院系:数学系主讲教师:李海中课程学分:4课程学时:65上课时间:每周一15:20~16:55、每周四8:00~9:35。教材:《微分几何(第2版)》–彭家贵,陈卿(2021,高等教育出版社)。参考书:DifferentialGeometryofCurvesandSurfaces(2nde......
  • Docker Compose 学习笔记
    DockerCompose学习笔记DockerCompose安装安装完DockerEngine后,以插件方式安装DockerCompose:设置安装源sudoyuminstall-yyum-utilssudoyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.repo安装Composepluginsudo......
  • VScode开发STM32笔记(一)生成bin文件
    操作步骤软件条件1、基于stm32-for-vscode工具开发;2、项目处于打开状态,且生成elf文件;具体的安装环境详见文档:https://blog.csdn.net/weixin_42435984/article/details/141894449具体操作1、通过VScode打开对应的STM32项目;2、使用stm32-for-vscode工具对其进行编译;3......
  • Java基础-学习笔记18
    18反射1.反射机制反射机制允许程序在执行期借助于ReflectionAPI取得任何类的内部信息(比如成员变量、构造器、成员方法等等),并能操作对象的属性及方法。反射在设计模式和框架底层都会用到;加载完类之后,在堆中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对......
  • C++学习,信号处理
    C++信号处理,依赖于操作系统提供的API。信号处理主要用于响应外部事件,如中断信号(如SIGINT,SIGTERM等),这些信号可以由操作系统、其他程序或用户生成。在Unix-like系统(如Linux和macOS)中,信号处理可以通过signal函数或更灵活的sigaction函数来设置。在C++程序中直接使用这些函数是......
  • C++学习,# 和 ## 运算符
    C++中,# 和 ## 是两个特殊的预处理运算符,它们主要在宏定义中使用,用于字符串化和标记粘贴(tokenpasting)操作。 # 运算符:字符串化# 运算符用于将其后的宏参数转换为一个字符串常量。如果宏参数是一个宏标识符,则它会被转换成用双引号括起来的该标识符的字符串表示。这个操......
  • Effective C++学习
    导读声明式externintx;std::size_tnumDigits(intnum);classPerson;template<typenameT>classGraphNode;签名式std::size_t(int);//这个函数获得一个int,返回一个size_t定义式intx;std::size_tnumDigits(intnum){std::size_tdigitSoFar=......
  • SPSS26统计分析笔记——7 回归分析
    1回归方程        回归方程一般表达式:y=f(x......
  • html基础笔记
    行级元素和块级元素<!--行内块级元素--><!--1、能设置宽高--><!--2、能呆在一行--><!--常见的行内块级元素:img表单inputtextareaselect--><!--块级元素--><!--1、能设置宽高--><!--2、不和其他元素呆在同一行,霸占一行--><!--常见的块级元素:divpull......