更改 main 中对象的值
Changing values of object in main
我在从主方法修改对象的值时遇到问题。
class player
{
public:
int a=1;
};
当 im 不在对象中时,我如何使用 int a,例如,我想添加 10。当我想将A + 10打印到控制台时,它可以工作
player *test = new player()
//this works , result is 11
cout << test->a + 10 << endl;
//but when i try to do :
(test->a-10); //it compiles but the value doesnt change
我试图以几种方式访问该值,但没有任何效果,例如。
*(test->a)-10;
(*test->a -10) ;
如何直接使用此值?我想把 a 变成 *a 但是或 shared_ptr但我需要知道是否有办法直接更改它.
这是我的第一篇文章,我搜索了堆栈溢出,找不到与我的问题相关的任何内容。
谢谢
也许你应该读一读一本介绍C++书。关于这个问题,test->a -= 10
应该起作用。相当于test->a = test->a - 10
。在这里,test->a
相当于*(test.a)
。
(test->a-10);
不会更改该值;cout << test->a + 10 << endl;
也不会更改,但是您可以在打印时看到突变的值。不过,它实际上并没有改变值。
您需要执行类似 test->a -= 10;
的操作来更改值。
通过执行test->a+10
,您不会更改 test->a
的值。您只打印比 test->a
中的值大10
的值。
正确的方法是 test->a += 10
或test->a = test->a + 10
.
相关文章:
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- "main"函数堆栈中的对象在第一个任务运行时被覆盖 (FreeRTOS)
- 如何获取在 main() 函数中构造的类的创建对象?
- 如何从不同的类中获取函数来调用在 Main 中声明的对象?
- ./main:加载共享库时出错:libopencv_highgui.so.4.0:无法打开共享对象文件:没有这样的文件或
- 我们可以在main函数中声明嵌套类对象吗
- 调用Main将替换矢量对象并覆盖数据
- 类对象在 int main() 中'undefined'
- 当我调用 main 中使用 const 对象的 const 函数时,不断出现错误
- 将对象从函数C 中的MAIN更改
- 如何在 main 函数的一个对象中初始化两个类的值?C++
- C :使用Main中定义的对象方法的函数
- 如何修复结构播放器对象中的矢量位置,以便它在 Main 中与 me.position 一起使用?
- 在C 中使用静态功能,我的教授希望我告诉Main哪个对象具有最高优先级,而无需传递任何内容
- main.cpp:(.text+0x8f):对[对象方法]的未定义引用
- 使用 main() 以外的其他函数显示类的对象,但在 main() 中调用;
- 从main()将类对象实例作为参数将参数传递到另一个类对象实例
- 可以(通过编译器)使用多少个线程来初始化全局对象(函数main之前)
- 构造函数在 main 中调用,但对象未正确创建
- 如何在函数内部制作对象并将其返回到main(),而无需删除函数将其删除在C 中