c++ 类和对象(学习记录一)

1. 概念及定义

什么是类?
简单的说在c++中,可以用 <类> 描述 <对象>-现实世界中的事物。

  • 可以通过类对现实世界中相似事物的抽象,找到不同事物间的共同点,例如学生的行为:逃课、旷课、惩罚等。
  • 类用于指定对象的形式,包含数据表示法和用于数据处理数据的方法。类中的数据和方法称为类的成员。如类的成员函数等。

类 & 封装
使用类时,不需要关心类的实现细节,只有在创建类时,才需要考虑其内部实现细节。
必须在类的表示中定义属性和行为的公开级别,在c++中可以给成员变量和 成员函数定义访问级别。即 类访问修饰符

  • public: 成员变量 成员函数可以在类的内部和外部访问及调用。
  • private: 成员变量 成员函数只能在类的内部被访问和调用。
  • c++中采用struct定义类中所有成员默认为 public 属性。

c++类的定义

class className  //关键字  类名
{
    pribate/public/protected:
            变量;
            函数;
}

class PID
{
    public:
        double kp;
        
        /* 类的成员函数的声明 */
        double vel(void); 
}

/*成员函数定义*/
double PID::vel(void)
{
    return ;
}

定义/声明 c++对象

PID pid1;  //声明pid1, 类型为PID
PID pid2; 
  • 其中,对象pid1和pid2都有各自的数据成员。

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

成员函数定义

  • 成员函数可以定义在类定义的内部。在类定义中的成员函数即把函数声明为 内联函数 即使没有 inline标识符。
  • 使用 范围解析运算符:: 来定义该函数。
double PID::vel(void)
{
    return ;
}
  • 在::运算符之前必须使用类名。调用成员函数则是在对象上使用点运算符 .
PID pid1;
pid1.vel();  //调用该对象的成员函数
2. 写法
  • :: 范围解析运算符
  • class 关键字
  • 类访问修饰符 public private protected
3. 案例
#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;
   Box Box3; 
   double volume = 0.0; 
 
   // box 1 详述
   Box1.height = 5.0; 
   Box1.length = 6.0; 
   Box1.breadth = 7.0;

   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;
 

   volume = Box2.height * Box2.length * Box2.breadth;
   cout << "Box2 的体积:" << volume <<endl;
 
   Box3.set(16.0, 8.0, 12.0); 
   volume = Box3.get(); 
   cout << "Box3 的体积:" << volume <<endl;
   return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值