c++ - 从第三类更改所有类的对象

标签 c++ pointers

我在执行以下操作时遇到一些问题,我有 2 个对象(Class1.hClass2.h 的实例),第三个对象作为变量(实例Obj.h),当我更改其他类(Starter.h)中第一个对象之一中的第三个对象时,我希望该更改将显示为 int另一个对象。我正在使用指针来做到这一点。例如:

Main.cpp

Class1* c1 = new Class1;
Class2* c2 = new Class2;

int main(int argc, char **argv)
{
    printf("Teste!");
    Obj* obj = new Obj();
    obj->setX(4);

    c1->setObj(obj);
    c2->setObj(obj);

    Starter s;

    printf("C

最佳答案

现在,您正在 main 方法中调用 Starter 类的默认构造函数:

Starter s;

因此在 Starter 的这个实例中,obj 将未被初始化。更改此设置以调用正确的构造函数:

Starter s(c1);

但是,您的 Starter 类目前缺少其 Class1 实例变量的访问器方法。因此,即使您调用正确的构造函数,您也无法访问 Class1 实例 c1 内的 obj 实例。尝试将 Class1* getClass1() 添加到您的 Starter 类中,您就可以开始了。


但是,您的示例还存在一些其他问题:
- Starter 的默认构造函数未初始化其实例变量。这将产生未定义的行为。
- 尝试习惯 C++ 初始值设定项列表语法(请参阅 http://www.learncpp.com/cpp-tutorial/101-constructor-initialization-lists/ )
- 尝试修复你的变量名称

关于c++ - 从第三类更改所有类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27473350/

相关文章:

c++ - 如何使绑定(bind)支持脚本语言

c++ - 更好地理解递归

c++ - C++通过别名指针默默地将错误的类型分配给数组元素

c - 如何存储函数的全局值?

c - 如何从结构内部释放动态分配的内存?

C++:C 字符串、指针和一个非常有趣的 while 循环

c++ - 什么是多重再继承?

c++ - Physx-使用Come函数链接问题(函数中引用的__imp_PxCreateBasePhysics…)

python - python中的ctypes结构数组

c - 二维数组指针