小编Dea*_*Cat的帖子

修改一个对象也会修改同一类的所有其他对象

自从我上一个 C++ 项目以来已经很久了,现在我陷入了一个非常简单的问题。我创建了两个对象,并且只想修改其中之一。现在我不明白为什么另一个对象也被修改了......

主类:

#include "testobject.h"
#include <iostream>

int main() {
    TestObject o1;
    TestObject o2;

    std::cout << "object1 before: " << o1.getI() << std::endl;
    std::cout << "object2 before: " << o2.getI() << std::endl;

    o1.setI(2);

    std::cout << "object1 after: " << o1.getI() << std::endl;
    std::cout << "object2 after: " << o2.getI() << std::endl;

}
Run Code Online (Sandbox Code Playgroud)

测试对象类:

#include "testobject.h"

int i;

int TestObject::getI() {
    return i;
}

void TestObject::setI(int j) {
    i = j;
}
Run Code Online (Sandbox Code Playgroud)

输出是:

object1 before: 0
object2 before: 0
object1 …
Run Code Online (Sandbox Code Playgroud)

c++ variables scope class datamember

-1
推荐指数
1
解决办法
691
查看次数

标签 统计

c++ ×1

class ×1

datamember ×1

scope ×1

variables ×1