美文网首页
C++类&对象

C++类&对象

作者: 樂由丶 | 来源:发表于2019-05-15 17:07 被阅读0次

    类:

    在定义类的时候不能对成员变量赋值,因为类只是一种数据类型或者说是一种模板。类可以看做是一种数据类型,它类似于普通的数据类型,但是又有别于普通的数据类型。类这种数据类型是一个包含成员变量和成员函数的集合。

    类的成员变量

    有数据类型和名称,占用固定长度的内存。但是,在定义类的时候不能对成员变量赋值

    类的成员函数

    有返回值和参数列表,它与一般函数的区别是:成员函数是一个类的成员,出现在类体中,它的作用范围由类来决定。
    成员函数定义在类外时,就必须在函数名前面加上类名予以限定 :: 被称为域解析符(也称作用域运算符或作用域限定符),用来连接类名和函数名,指明当前函数属于哪个类。
    成员函数必须先在类体中作原型声明,然后在类外定义,也就是说类体的位置应在函数定义之前。

    在类体中和类体外定义成员函数的区别

    在类体中和类体外定义成员函数是有区别的:在类体中定义的成员函数会自动成为内联函数,在类体外定义的不会。当然,在类体内部定义的函数也可以加 inline 关键字,但这是多余的,因为类体内部定义的函数默认就是内联函数。
    内联函数一般不是我们所期望的,它会将函数调用处用函数体替代,所以我建议在类体内部对成员函数作声明,而在类体外部进行定义,这是一种良好的编程习惯,实际开发中大家也是这样做的。

    C++类成员的访问权限以及类的封装

    C++通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。
    ###访问
    在类的内部(定义类的代码内部),无论成员被声明为 public、protected 还是 private,都是可以互相访问的,没有访问权限的限制。
    在类的外部(定义类的代码之外),只能通过对象访问成员,并且通过对象只能访问 public 属性的成员,不能访问 private、protected 属性的成员。
    类的声明和成员函数的定义都是类定义的一部分,在实际开发中,我们通常将类的声明放在头文件中,而将成员函数的定义放在源文件中。
    private 关键字的作用在于更好地隐藏类的内部实现,该向外暴露的接口(能通过对象访问的成员)都声明为 public,不希望外部知道、或者只在类内部使用的、或者对外部没有影响的成员,都建议声明为 private。

    根据C++软件设计规范,实际项目开发中的成员变量以及只在类内部使用的成员函数(只被成员函数调用的成员函数)都建议声明为 private,而只将允许通过对象调用的成员函数声明为 public。

    相关文章

      网友评论

          本文标题:C++类&对象

          本文链接:https://www.haomeiwen.com/subject/tnmpaqtx.html