C++篇之类、对象和封装

封装:
将数据成员和成员函数包装进类中,加上具体实现的隐藏共同被称作封装,其结果是一个同时带有特征和行为的数据类型。(1 类是一个数据类型,2 这个数据类型带有特征和行为)
** 定义类,定义其数据成员、成员函数的过程称为封装类。
类:
类和结构体类似,结构体调用用 . 指针调用用 -> 。结构体安全性不好,任何人都能访问,而类的私有成员只能自己访问。类不仅可以保护数据,还可以提供成员函数操作数据。

这里写代码片
class 类名称
{
  public:
    ...
    //共有函数;(成员函数不占用类的内存)
    ...
  protected:
    ...
    //保护成员(在继承的时候会牵扯到)
    ...
  private:
    //私有数据成员int a;类的私有成员只能在类中访问自己的私有变量,或类的成员函数访问这个类的私有变量
    //私有函数
    ...     
};
成员函数有两种定义方法:1 在类的内部定义成员函数,2 在类的外部定义成员函数(要加上类作用域运算符::),在类的内部声明(一般是这样,包含头文件就能调用)。

类成员函数的重载:
1 类成员函数可以像普通函数一样重载
2 但是,不同类即使有相同的函数名也不算重载

类成员函数的默认参数:
类成员函数可以像普通函数一样设置默认参数。

成员函数的调用:
1 指定对象和成员函数名来调用
**注意:
**1 调用成员函数必须指定对象和成员函数名
**2 成员函数必须用对象来调用,在成员函数内部可以直接调用数据成员和成员函数。
**3 在成员函数内部,访问数据成员直接访问即可,不用通过对象来调用。
2 用指针来调用成员函数

这里写代码片
#include <iostream>
#include "car.h"
void foo(Car *pcar)
{
    pcar -> print();
    pcar -> stop();
}
int main()
{
    Car a;//Car 是一个类
    cout<<sizeof(a)<<endl;
    foo(&a);

    return 0;
}

3 用引用传递来访问成员函数
用对象的引用来调用成员函数,看上去和使用对象自身的情况一样

这里写代码片
void bar(Car& rcar)
{
    rcar.print();
    rcar.stop();
}
int main()
{
    Car a;
    bar(a);

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值