C++随笔4——类的封装及控制访问

  1. 类的封装
    类封装了成员变量和成员函数,这点要比struct丰富很多。封装是面向对象编程中的特点,封装把数据(属性,成员变量)和函数变成一个整体,同时封装可以对属性和方法进行访问控制(用户只能访问公共接口):
public: //修饰的成员变量和成员函数可以类的内部和类的外部访问 
private:// 修饰的成员变量,智能在类的内部访问   
protected: // 修饰的成员变量和函数,只能在类的内部访问,不能再类的外部访问,但是可以用在继承里面

在类中,没有权限修饰的成员变量和函数,默认是私有的。

  1. class 与 struct 的区别
    C++中对struct进行了加强,在struct中,没有权限修饰的成员变量默 认是公共的。
  2. 面向对象与面向过程的区别举例
    例子,定义一个长方体类,其成员函数中实现比较两个长方体是否相等。
Class Cube
{
 public: 
    float cube_length;
    float cube_width;
    float  cube_heigth;

void SetCube(float a, float b , float c)
{
    float cube_length = a;
    float cube_width = b;
    float  cube_heigth= c;
}
    // 面向过程的思维
    bool IsSame(Cube& c1, Cube& c2)
    {
        if (c1.cube_length == c2.cube.lenth and  c1.cube_width == c2.cube.lwidth and c1.cube_heigth == c2.cube.heigth)
        {
            return true;
        }
        else 
        {
           return false;
        }
    }
// 面向对象的思维
bool IsSame(Cube& c2)
    {
        if (cube_length == c2.cube.lenth and  cube_width == c2.cube.lwidth and cube_heigth == c2.cube.heigth)
        {
            return true;
        }
        else 
        {
           return false;
        }
    }
}

viod main() 
{
   Cube c1, c2;
   c1.SetCube(1.0, 2.0, 3.0);
   c2.SetCube(1.0, 2.0, 4.0);
   bool is_same = c1.IsSame(c1, c2); // 面向过程
   bool is_smae_2 = c1.IsSame(c2); // 面向对象
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值