成员变量应该私有化(private)

成员变量的私有化,不想用户依赖成员变量,同时类的拥有者可以“自由”修改。

先看看代码:

1、成员变量向用户公开(public)

struct Student
{
    string name;
    int age;
    bool sex;
    int number;
};

2、成员变量私有化,为用户提供访问的接口。

struct Student
{
    getter/setter() {...}
    ...
private:
    string name;
    int age;
    bool sex;
    int number;
};

       对比上述两种实现方式,会发现第一种方式不易于修改,类中属性名的改变,相应的用户代码也得跟着改变,否则编译器会抱怨;第二种方式只要对外接口保持不变,类的内部变化不会影响到用户代码的变化。这就说明了面向对象中封装的重要性,而private提供了封装。

你可能感兴趣的:(C/C++,编码)