当成为朋友的类具有相同的名称成员变量时会发生什么

未知间谍

在C ++中,当我遇到以下情况时会发生什么

class House
{
public:
    House();
    ~House();

private:
    int* m_peopleInside;

friend class Room;
}; 

然后在House的构造函数中设置

m_peopleInside = new int[5];
m_peopleInside[4] = 2;

class Room
{
public:
    Room();
    ~Room();

    Update();

private:
    int* m_peopleInside;
}; 

然后在Room.Update()中,我使用m_peopleInside这样的东西。

&m_peopleInside[4];

据我了解,朋友类将允许Room类访问House类的私有成员。那么将使用哪个m_peopleInside?

我应该补充一点,在这种情况下,m_peopleInside被用作数组。

本杰明·林德利(Benjamin Lindley)

这是一个实例变量。因此,需要实例来对其进行操作。如果未提供实例,则该实例与相同this->m_peopleInside,这意味着它引用了在其上调用该函数的实例。因此,例如,如果这是您的功能:

void Room::Update() {
    // these two are the same, they null the member of the Room object
    m_peopleInside = nullptr;
    this->m_peopleInside = nullptr;

    House h;
    // should be pretty obvious what this does
    h.m_peopleInside = nullptr;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当类和函数具有相同的名称时会发生什么?

来自分类Dev

具有相同方法名称的两个接口,当我重写时会发生什么?

来自分类Dev

发生“注入类名称”时会发生什么?(C ++)

来自分类Dev

Parse API:当有多个对象具有相同的对象 id 时会发生什么?

来自分类Dev

如果具有相同名称的字段从两个来源(类和接口)继承,将会发生什么

来自分类Dev

当您写入具有相同配置的寄存器时会发生什么?

来自分类Dev

在Keras中继续分配具有不同常数张量的变量时会发生什么?

来自分类Dev

在现有变量上调用malloc时会发生什么?

来自分类Dev

如果一个类具有相同的串行UID,究竟会发生什么?

来自分类Dev

方法名称和块名称相同时会发生什么?

来自分类Dev

合成子类的变量时会发生什么?

来自分类Dev

Java继承混乱,具有相同名称的超类和子类成员变量

来自分类Dev

嵌套的类和成员函数具有相同的名称

来自分类Dev

当网格类别应用于具有较小断点大小的设备时会发生什么

来自分类Dev

在具有默认键值(0,1,2,...)的数组中使用extract()时会发生什么

来自分类Dev

将具有导航属性的对象添加到Db时会发生什么情况?

来自分类Dev

当“ pip install <程序包名称>”时会发生什么?

来自分类Dev

当函数在python中返回自己的名称时会发生什么?

来自分类Dev

从派生类调用基函数时会发生什么?

来自分类Dev

将变量绑定到某些数据时会发生什么?

来自分类Dev

尝试使用数组变量时会发生什么

来自分类Dev

当我在先前定义的通过ajax调用的函数中使用相同的变量名时会发生什么?

来自分类Dev

暂停时会发生什么?

来自分类Dev

类名和具有相同名称的变量的声明

来自分类Dev

具有相同名称的类和方法变量的行为

来自分类Dev

当有人拉着我推时会发生什么?

来自分类Dev

当有人拉着我推时会发生什么?

来自分类Dev

当Java中有多个main方法时会发生什么?

来自分类Dev

当成员签名在F#中具有类型变量时,成员约束调用表达式出现问题

Related 相关文章

  1. 1

    当类和函数具有相同的名称时会发生什么?

  2. 2

    具有相同方法名称的两个接口,当我重写时会发生什么?

  3. 3

    发生“注入类名称”时会发生什么?(C ++)

  4. 4

    Parse API:当有多个对象具有相同的对象 id 时会发生什么?

  5. 5

    如果具有相同名称的字段从两个来源(类和接口)继承,将会发生什么

  6. 6

    当您写入具有相同配置的寄存器时会发生什么?

  7. 7

    在Keras中继续分配具有不同常数张量的变量时会发生什么?

  8. 8

    在现有变量上调用malloc时会发生什么?

  9. 9

    如果一个类具有相同的串行UID,究竟会发生什么?

  10. 10

    方法名称和块名称相同时会发生什么?

  11. 11

    合成子类的变量时会发生什么?

  12. 12

    Java继承混乱,具有相同名称的超类和子类成员变量

  13. 13

    嵌套的类和成员函数具有相同的名称

  14. 14

    当网格类别应用于具有较小断点大小的设备时会发生什么

  15. 15

    在具有默认键值(0,1,2,...)的数组中使用extract()时会发生什么

  16. 16

    将具有导航属性的对象添加到Db时会发生什么情况?

  17. 17

    当“ pip install <程序包名称>”时会发生什么?

  18. 18

    当函数在python中返回自己的名称时会发生什么?

  19. 19

    从派生类调用基函数时会发生什么?

  20. 20

    将变量绑定到某些数据时会发生什么?

  21. 21

    尝试使用数组变量时会发生什么

  22. 22

    当我在先前定义的通过ajax调用的函数中使用相同的变量名时会发生什么?

  23. 23

    暂停时会发生什么?

  24. 24

    类名和具有相同名称的变量的声明

  25. 25

    具有相同名称的类和方法变量的行为

  26. 26

    当有人拉着我推时会发生什么?

  27. 27

    当有人拉着我推时会发生什么?

  28. 28

    当Java中有多个main方法时会发生什么?

  29. 29

    当成员签名在F#中具有类型变量时,成员约束调用表达式出现问题

热门标签

归档