首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我的成员函数旨在更改类中的特定成员数据,但实际上并没有更改它

问题:我的成员函数旨在更改类中的特定成员数据,但实际上并没有更改它。

回答: 这个问题可能是由于以下几个原因导致的:

  1. 成员函数中的代码逻辑错误:请检查成员函数中的代码逻辑,确保正确地访问和修改了目标成员数据。可能需要仔细检查代码,确保没有遗漏或错误的操作。
  2. 成员数据的访问权限问题:请确保成员数据的访问权限设置正确。如果成员数据是私有的,需要通过成员函数来修改它。如果成员数据是公有的,可以直接在类外部修改它。
  3. 成员函数参数传递问题:请检查成员函数的参数传递方式是否正确。如果需要修改成员数据,可能需要将目标成员数据作为参数传递给成员函数,并在函数内部进行修改。
  4. 对象的实例化问题:请确保正确地实例化了类对象,并通过对象调用成员函数。如果对象没有正确实例化,成员函数将无法修改目标成员数据。

如果以上方法都没有解决问题,可能需要进一步检查代码,并考虑使用调试工具来帮助定位问题所在。另外,建议在编写代码时遵循良好的编程实践,例如使用合适的命名规范、注释代码、进行单元测试等,以提高代码的可读性和可维护性。

腾讯云相关产品和产品介绍链接地址:

  • 云函数(Serverless):https://cloud.tencent.com/product/scf
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ai
  • 物联网开发平台(IoT Explorer):https://cloud.tencent.com/product/ioe
  • 移动推送服务(TPNS):https://cloud.tencent.com/product/tpns
  • 腾讯区块链服务(TBCS):https://cloud.tencent.com/product/tbcs
  • 腾讯元宇宙:https://cloud.tencent.com/product/tencent-metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Ruby高级技术】对面向对象里控制访问,包括继承常量深入理解和使用

结合了数据表示和方法,将数据组织成一个整洁包。数据和方法称为成员。 Ruby定义 定义时,实际上定义了数据类型蓝图。...这实际上并没有定义任何数据,而是定义了名称意味着什么,即对象将由什么组成,以及可以对对象执行什么操作。 定义以关键字class开头,后跟名,以结尾结尾。...继承允许我们基于另一个定义一个,这使得创建和维护应用程序更加容易。 继承有助于重用代码并快速执行。不幸是,Ruby不支持多重继承,Ruby支持混合。mixin类似于多重继承特定实现。...在多重继承,只有接口部分是可继承。 在创建时,程序员可以直接指定新继承自现有成员,这样就不必从头开始编写新数据成员成员函数。现有称为基或父,新称为派生或子类。...常量 通过将直接数值或字符串值赋给变量,可以在定义常量。不需要使用@或@@来定义常量。按照惯例,常数名称是大写。 一旦定义了常量,就不能更改其值。可以直接访问常量,就像访问变量一样。

62830

MFC中注释含义

成员变量和成员函数都可以出现在此节。在将来 MFC 版本,该行下面的所有内容都可能更改。不应依赖 // Implementation 行下详细信息,除非只能这样做。...使用这些成员时应谨慎,因为它们将来可能更改。将一组成员声明为 public 对使库实现正常工作可能有必要。这并不意味着可以安全地使用这样声明成员。...注意   大类(如 CDC 和 CWnd)成员可能非常多,若只是在一组列出所有属性,对清楚地描述成员并没有多大帮助。在这种情况下,库使用标头形式其他注释来进一步描述成员。...例如,CWnd::Create 位于构造函数,因为在使用 CWnd 对象之前,必须首先调用 C++ 构造函数,然后调用 Create 函数来“完整构造”。这些成员通常是公共。...虚函数名称通常以“On”开头, On 不是绝对需要。此处函数旨在被重写,并且常实现或提供某种类型“回调”或“挂钩”。这些成员通常是受保护。 在 MFC 本身,纯虚函数总是放在此节

1.1K70

攻击 Active Directory 组托管服务帐户 (GMSA)

如果攻击者破坏了有权请求 GMSA 密码帐户,则 GMSA 被破坏。 组托管服务帐户具有对象“ msDS-GroupManagedServiceAccount ”和特定于 GMSA 关联属性。...此 GMSA 是域管理员组成员,该组对域具有完全 AD 和 DC 管理员权限。屏幕截图显示密码最近更改了,几周内不会更改 - 更改于 2020 年 5 月 11 日,并配置为每 30 天更改一次。...更重要是,这个密码哈希是不正确。Microsoft 将 GMSA 凭证加载到 LSASS 似乎没有使用它。...如果我们能够在有权获取 GMSA 密码服务器上获得管理员/系统权限, GMSA 没有在服务上下文中运行(因此运行 Mimikatz 没有帮助,因为 GMSA信用不在内存)。...在实验室执行下一步是确认 DSInternals 提供 NT 密码散列与 Active Directory 匹配。

1.9K10

话说const修饰符与static修饰符

但是C由于类型把控不是非常严格,我们依旧可以变相更改,譬如:int *p = &a; *p = 20; 但是C++类型把控是非常严格,无论如何,妄图修改const修饰变量都是无意义。...2 C++const: const成员数据 和普通变量一样,被const修饰之后为常量(只读)不可修改。...只需记住一句话,用const修饰成员函数,承诺不会修改数据成员,那自然也不会在函数内部调用其他非const函数。...静态成员,属于,也属于对象,终究属于。...初始化:在外初始化,语法规则是 数据类型 名::静态数据成员 = 初值; 调用:两种方式 1) 名::静态成员 2) 对象.静态成员 static静态成员函数 为了管理静态成员,c++提供了静态函数

90510

运算符重载基本规则和习惯用法是什

运算符重载通用语法 在重载时,你不能更改 C++ 内置类型运算符含义,只能对自定义类型[1]运算符进行重载。也就是,运算符两边操作数至少有一个是自定义类型。...., Nov, Dec} 你想为重载递加和递减运算符,但是你是无法实现它们为成员函数,因为在 C++ ,枚举类型压根就没有成员函数这一说。...还有,对于嵌套在模板模板,operator<() 作为内联成员函数会更方便去读写成员变量,这种情况不是经常能遇到。 普通运算符重载用法 重载运算符大部分代码都是固定。...(译注:原回答并没有提及友元,不过这里还是贴出友元实现。) class T { ......统计表明,示例频繁构建和销毁,常规默认内存管理处理效率低下,所以需要针对特定特定 new 和 delete。

71610

.NET面试题系列 - IEnumerable

这个类型允许我们传入一组Person数组。所以应当有一个Person[]类型成员,和一个构造函数,其可以接受一个Person[],然后将Person[]类型成员填充进去作为初始化。...我们可以查看IEnumerator元数据,其解释十分清楚: Enumerator代表一个类似箭头东西,指向这个集合当前迭代指向成员 IEnumerator接口类型对非泛型集合实现迭代 Current...尽管我们呼叫了GetItems方法,先打印出来句子却是主函数句子。...实际上并没有改任何值,yield只是老老实实吐出了新三个vector而已。Yield就像一个血汗工厂,不停制造新值,不会修改任何值。...在迭代过程改变集合状态 foreach迭代时不能直接更改集合成员值,如果集合成员或者结构,则可以更改其属性或字段值。不能在为集合删除或者增加成员,这会出现运行时异常。

63220

Swift入门:

Swift有另一种方法来构建称为复杂数据类型。它们看起来类似于结构体,但有许多重要区别,包括: 您没有自动成员初始化器;您需要编写自己初始化器。...这在结构体很好,因为Swift会自动为我们生成一个成员初始化器,强制我们为这两个属性提供值,这不会在中发生,因此Swift无法确定它们是否会被给定值。...我们希望它有自己sing()方法,但在Swift需要学习一个新关键字:override。这意味着“知道这个方法是由我实现,但是想为这个子类更改。”...您可以将它们传递到函数,或者将它们存储在数组,在其中进行修改,并将这些更改反映到程序其余部分。 如果要避免一个副本不能影响所有其他副本共享状态,则需要使用结构体。...您可以将它们传递到函数,或者将它们存储在数组,在其中进行修改,并且它们不会在引用它们其他位置发生更改

72410

C++程序员经常问11个问题

这样是不是更具有可读性了! 要点6:指向成员指针   一个有两种基本成员函数成员数据成员。同样,指向成员指针也有两种:指向函数成员指针和指向数据成员指针。...指向数据成员指针   尽管刚开始时,指向成员指针语法会使你有一点点迷惑,你不久会发现其实同普通指针差不多,只不过是*号前面多了::符号和名字,例:定义一个指向int型指针: int...>*pmi=5;   指向函数成员指针   函数成员所返回数据类型构成,名后跟上::符号、指针名和函数参数列表。...pmf是一个指向A函数成员func()指针.实际上,这个指针和一个普通指向函数指针没什么不同,只是包含了名字和::符号。...当你公有继承创建一个从基继承相关时,指向新对象指针和引用实际上都指向了起源对 象。因为析构函数不是虚函数,所以当你delete一个这样时,C++就不会调用析构函数链。

84320

【专业技术】你必须注意11个C++要点

这样是不是更具有可读性了! 要点6:指向成员指针 一个有两种基本成员函数成员数据成员。同样,指向成员指针也有两种:指向函数成员指针和指向数据成员指针。...指向数据成员指针 尽管刚开始时,指向成员指针语法会使你有一点点迷惑,你不久会发现其实同普通指针差不多,只不过是*号前面多了::符号和名字,例: 定义一个指向int型指针: int...5; 指向函数成员指针 函数成员所返回数据类型构成,名后跟上::符号、指针名和函数参数列表。...A函数成员func()指针.实际上,这个指针和一个普通指向函数指针没什么不同,只是包含了名字和::符号。...当你公有继承创建一个从基继承相关时,指向新对象指针和引用实际上都指向了起源对象。因为析构函数不是虚函数,所以当你delete一个这样时,C++就不会调用析构函数链。

97450

适合具备 C 语言基础 C++ 入门教程(九)

,Human成员函数跟前几讲所写成员函数有所不同,而如上述 Human成员函数这般写法,也就被称之为是纯虚函数。...抽象 上述引出了纯虚函数写法,那纯虚函数和抽象之间有什么关系呢?实际上,抽象就是具有纯虚函数,那这抽象存在意义是什么呢?...:在派生抽象过程,如果派生得到子类没有覆写所有的纯虚函数,那么这个子类还是抽象,比如有如下所示代码,Human沿用是上述写法,代码不变,如果我们将上述 Chinese进行更改更改代码如下所示...只涉及到成员函数一个声明,并没有成员函数实现,我们继续来看Chinese.cpp实现: #include "Chinese.h" void Chinese::eating(void)...,其实就是定义了一个指针数组,然后遍历整个指针数组,一次将数组内成员传入test_eating()函数内,根据传入参数不同执行不同eating函数,说到这里,实际上是跟前面一则教程中所将抽象和虚函数概念所结合起来

40410

迁移学习与图神经网络“合力”模型:用DoT-GNN克服组重识别难题

行人重识别(ReID)由于其广泛应用(例如监控)而备受关注。现有的研究主要集中于针对个人行人重识别,而同时搜索特定人群研究相对较少。实际上,在街道上一群人一起走动是很普遍现象。...实际上,G-ReID在日常生活变得越来越重要,这是对单人ReID补充。 与单独ReID不同,G-ReID目标是将不同摄像机视图下特定组相关联。...于是,本文提出了学习ReID数据集S到G-ReID数据集T之间映射函数,这样生成数据集T(S)与T分布不会有差异。这样由CNN提取域迁移个体特征就能用于图构建。...对一个图,包含多个节点、多条边和对应标签。本文图生成器会采用两种策略来构造图样本,即成员资格保留组和成员资格可变组。...本文提出使用图节点生成(迁移),成员资格保留组和成员资格更改组来分别克服组重标识三个主要挑战:训练数据不足,布局和外在更改以及成员资格导致布局更改

1.4K20

挂钩图形内核子系统

前身DxgkDdiRenderKm仅用于“旧版”图形驱动程序,看起来也很有趣,因为很可能产生相同结果。...NtGdiDdDDISubmitCommand 数据成员这种异常函数调用实际上是整个dxgkrnl抽象层较大函数一部分,该函数表既未记录在符号,也未导出到二进制文件,这可能解释了作弊这种图形使用类型异常疏忽...该特定数据成员指向dxgkrnl!...DxgkSubmitCommand,表其余部分说明了这一点(请参阅x-refs): kernelgdi2.png 图2-win32kbase函数指针表 这意味着我们可以通过简单地更改数据成员RW...通过截获此特定gpu调用,我们可以与实际屏幕更新完全同步,从而允许我们使用GDI函数来操纵中间屏幕缓冲区。我们绘制到游戏缓冲区唯一痕迹是模糊指针交换,实际上没有反作弊检查。

3K392

Effective C++:条款28:避免返回 handles 指向对象内部成员

大家好,又见面了,是全栈君 (一) 有时候为了让一个对象尽量小,能够把数据放在另外一个辅助struct,然后再让一个去指向。...reference指向private内部数据,调用者于是可通过这些reference更改内部数据。...upperLeft调用者可以使用被返回引用来更改成员rec事实上应该是不可变(const)! 所以上面那种类设计是错误!!!...所以从这个样例,我们能够得到下面的教训: (1)成员变量封装性会被引用破坏。...(2)假设const成员函数传出一个reference,后者所指数据与对象自身有关联,而它又被存储于对象之外,那么这个函数调用者能够改动那笔数据

20610

作为一名合格开发者,必须了解编程原则有哪些?

为什么 一个模块更改通常会导致其他模块更改,产生涟漪效益。 由于模块间依赖性增加,模块装配可能需要更多工作和/或时间。 特定模块可能难以重用和/或测试,因为必须包含相关模块。...如果接收到数据没有严格遵守规范,那么简单实现将仅拒绝合作。更复杂实现却可以忽略无法识别的数据。...怎么做 向其他机器(或同一机器上其他程序)发送指令或数据代码应该完全符合规范,接受输入代码应接受不一致输入,只要其意义明确。...隐藏实现细节 软件模块通过提供接口来隐藏信息(即实现细节),而不泄露任何不必要信息。 为什么 当实现更改时,客户端使用接口不必更改。 怎么做 最小化成员可访问性。 不要公开成员数据。...例如,如果一个实现了一个方法,只是简单抛出异常,那么调用方将需要知道实际上不应该调用这个方法。 怎么做 避免臃肿接口。不应该实现任何违反单一职责原则方法。

54800

适合具备 C 语言基础 C++ 入门教程(十三)

person 成员函数*/ { return p; } }; 基于此,我们来编写test_func函数: void test_func(void) { sp...++; } void decStrong { count--; } void getStrongCount { return count; } /* 因为当前 count 属于是私有数据成员...我们在Person定义了私有数据成员,并且定义了其访问接口,同时,我们在Person构造函数,初始化了count变量。...,我们还可以进一步进行改进,回顾sp,sp 中所定义私有成员是Person实例化对象,那么如果想要用sp定义任何类型对象呢,这个时候,就需要使用到模板概念,下面是改进后sp模板函数代码...更改了sp,那么也就自然需要更改test_func函数了,更改之后代码如下所示: template void test_func(sp &other) { sp

33600

Oracle Java和对象

但是,这种重新分配没有永久性,因为引用是按值传递,不能更改。在该方法,圆指向对象已更改当该方法返回时,myCircle仍然引用与调用该方法之前相同circle对象。...公共字段往往会将您链接到特定实现,并限制您更改代码灵活性。 了解成员 在本节,我们将讨论使用static关键字创建属于而不是实例字段和方法。...==注意:静态嵌套与其外部类(和其他实例成员进行交互,就像任何其他顶级一样。实际上,静态嵌套在行为上是一个顶级,为了打包方便,它被嵌套在另一个顶级类别。...假设您升级应用程序并更改Person结构,使其包含不同成员变量;也许该类使用不同数据类型或算法记录和测量年龄。为了适应这种变化,您必须重写大量API。...x是指成员变量FirstLevel.x。 然而,与本地和匿名一样,lambda表达式只能访问封闭块最终或有效最终局部变量和参数。在本例,变量z实际上是final;其值在初始化后从未更改

80200

【JAVA零基础入门系列】Day11 Java和对象

实际上并没有什么卵用,只是为了说明一般定义方式,即class+名后面再接大括号,在大括号里面写上属性及方法。...这里title跟price都是在定义,也叫做成员变量,一般在最前端定义我们需要关注数据变量或者对象,这一部分也称为实例域。定义好了,我们需要使用的话怎么使用呢?...而实际上,为了便于管理,通常把每个放到单独文件,并用名来定义文件名,比如Goods放到Goods.java文件,而Test则放在Test.java文件,那一个文件引用另一个文件定义...这里我们添加了四个方法,两个方法用于读取成员变量,两个方法用于设置成员变量,此外,我们还将两个成员变量设置成了private,这样这两个成员变量就只能在内部方法中使用,在其他是禁止使用。...那现在Test也需要做相应调整了,因为Goods成员已经声明为private了,所以只能通过方法来进行访问。通常把用与访问成员方法叫做访问器,设置成员方法叫做更改器。

816100

在赏金计划中发现RACE条件漏洞

由于代码使用root权限,所以它将检查用户是否实际上具有对文件/tmp/XYZ访问权限。实际上,这是access()调用主要目的。...漏洞危害: 一旦入侵者使用竞争条件攻击破坏了系统,就可以更改,操纵或窃取数据更改权限,插入恶意代码,释放拒绝服务(DoS)攻击并停用安全控制。竞争条件攻击也可能包含API。...正文: 最近在Bug赏金计划中发现了RACE条件漏洞。 描述: 当设计为按特定顺序处理任务计算系统被迫同时执行两个或多个操作时,就会发生条件竞争攻击。最终,应用程序被迫执行意外动作。...攻击场景: 在这个项目中,每个创建好管理员在其团队只能新增3个三个成员。 但是,通过使用RACE条件竞争漏洞创建了4个团队成员。...4.现在,在intruder选项单击“attack”。 5.Burp将在点击一瞬间向服务器发送请求。由于存在RACE条件竞争漏洞,成功地添加了4个团队成员。现在,团队中共有4位团队成员

45510

适合具备 C 语言基础 C++ 教程(九)

,Human成员函数跟前几讲所写成员函数有所不同,而如上述 Human成员函数这般写法,也就被称之为是纯虚函数。...抽象 上述引出了纯虚函数写法,那纯虚函数和抽象之间有什么关系呢?实际上,抽象就是具有纯虚函数,那这抽象存在意义是什么呢?...只涉及到成员函数一个声明,并没有成员函数实现,我们继续来看Chinese.cpp实现: #include "Chinese.h" void Chinese::eating(void)...,其实就是定义了一个指针数组,然后遍历整个指针数组,一次将数组内成员传入test_eating()函数内,根据传入参数不同执行不同eating函数,说到这里,实际上是跟前面一则教程中所将抽象和虚函数概念所结合起来...最后,我们来测试一下,我们使用动态链接库所带来优点,比如,现在更改了Chinese.cppeating函数,代码如下: void Chinese::eating(void) { cout

39420

C++与对象(一)

定义函数可以直接使用成员变量。...内容称为成员变量称为属性或成员变量; 函数称为方法或者成员函数。...访问限定符及封装 访问限定符 访问限定符有三个: public(共有) protected(保护) private(私有) 访问限定符是为了保护里面的成员,防止在外部进行改动,比如说你在定义成员变量只想通过定义函数来进行更改...对象存储方式 在C++设计时候,考虑过如果储存成员函数,那么创建多个对象时候会非常占用内存,导致栈溢出,就像造一个小区,每家每户没必要都有健身器材,只要在特定地点建造健身器材就好了,大家一起用...,因为成员函数地址不在对象,在公共代码区域 return 0; } 这段代码是能运行成功,我们知道空指针解引用是会报错,但是这里并没有解引用。

36600
领券