保护基于类层次而非对象层次

来源:互联网 发布:ubuntu 命令行 菱形 编辑:程序博客网 时间:2024/06/16 06:22

对“保护基于于类层次,而非对象层次”这句话的代码理解,可以在代码上直观的体现:
X的一个对象x1的私有成员变量num的值为1,X的另一个对象x2的私有成员变量的值为2,
用X的方法带入X类型的参数可以直接得到对象x2的私有成员变量,不论是拷贝,引用,或是指针

代码如下:

#include <iostream>class X {public:    X(int _num) {        num = _num;    }    int getNum(X* _x) {        return _x->num;    }private:    int num;};int main(int argc, char const *argv[]) {    X x1(1);    X x2(2);    std::cout << x1.getNum(&x2) << std::endl;    return 0;}

这是面向对象范式的设计,并不是某一种语言的“缺陷”


CSDN 辣鸡 MD 编辑器,无序列表格式全丢

原创粉丝点击