C++(一) 类之封装

类的介绍

类的三大特性:封装 继承 多态

类是在结构体的基础上进化而来

类由成员变量(属于对象),成员方法(属于类)构成

创建对象时开辟的空间是用来存储成员变量的

成员方法是属于类的,不属于对象。所有对象调用的方法,都是同一类方法

封装

封装的意义

1.将属性和行为作为一个整体,就像生活中的事物

语法:class 类名{  访问权限:属性  / 行为  };

如下一个简单的程序实现进行演示说明:

class PlayerBase

{

public:  访问权限

    int m_nID;  微软写法,在每个属性命名开头加一个m_

    char m_pszName;

    int m_nHP;

    int m_nMP;

    double m_dbPosX;

    double m_dbPosY;  以上都是属性

public: 访问权限

    void text()

    {

        std::cout << "text" << std::endl  这是一个类方法,即行为

    }

}

int main()

{

    PlayBase Playerobject; 创建一个类对象

    Playerobject.m_nID = 1; 由于是public访问属性,所以可以定义该属性

    std::cout << Playerobject.m_nID << ste::endl; 同样因为是公共属性,所以也可以访问

}

2.将属性和行为加以权限控制

类具有访问权限:私有 公共 保护

在类中,所有成员默认私有(private),类中成员自己可以使用,类外不可用,也不可继承

公共的(public):大家都可以使用,也可以继承

保护的(protected):私有成员变量或函数在类的外部是不可访问的,只有本类和友元函数

可以问访问保护成员,并且子类也可以访问

私有的(private):私有成员变量或函数在类的外部是不可访问的,只有本类和友元函数可以访问

私有成员

默认情况下,类的所有成员都是私有的。

类与结构体

c结构体唯一的区别就在于结构体的默认权限为公共 ,类的默认权限为私有

私有属性访问

在一般类中,最为常见的类形式是只有ID处于公共属性内,其余在私有属性中,保障类私密性

假设我们将上述类中属性m_nHp设置为一个私有的访问属性,以此为例述一个外界能够访问私有属性和方法的方法:

类中定义public方法

int SetHP(int nHP) 外界赋值私有变量

{

    m_nHp = nHP;

}

int GetHP() 返回私有变量

{

    return m_nHP;

}

Playerobject.SetHP(12138);  定义私有变量m_nHp

Playerobject.GetHP() 返回该私有变量的值

匿名对象

匿名对象,不加对象名的类对象。创建对象时调用构造函数后,找不到先前创建的对象(没有对象名称)。周期只有一行,进入下一行时,该对象立刻销毁,调用析构函数 。

匿名对象的作用:能够更为直接地应用一次类中的方法,如:

Playerase().func()  先Playerase()创建匿名对象后Playerase().func()调用类方法

你可能感兴趣的:(c++,开发语言,算法)