对象的变量类型

时间:2014-08-16 03:47:58

标签: c++ class object constructor

我是C ++的新手,我正在玩对象的封装。当我尝试创建一个可以将另一个对象带入构造函数的对象时,我的问题就出现了 当我最初在对象的顶部分配变量时,我不确定应该给变量赋予什么类型的值。我尝试了voidint,但似乎都没有效果。这是我的代码:

class NewTest {
    int value;
public:
    NewTest() {
        value = 5;
    }

    int return_value() {
        return value;
    }
};

class OuterTest {
    int object;
public:
    OuterTest(int input) {
        object = input;
    }

    int return_object_value() {
        cout << object.return_value() << '\n';
    }
};

int main() {
    NewTest test_new;
    OuterTest outer_new(int test_new);
    outer_new.return_object_value();
    return 0;
}

1 个答案:

答案 0 :(得分:2)

您只需要声明自定义类类型的变量:

 #include <iostream>

class ClassA
{

public:
    //This function just returns the name of the class
    const char* getName() const
    {
        return "ClassA";
    }
};

class ClassB
{
    //variable of type ClassA
    ClassA myOwnObjA;

    public:
        //Constructor
        ClassB(ClassA objA)//I just receive objects of type ClassA ;)
        {
            myOwnObjA = objA;
            std::cout << "The name of the class of my object is: " << myOwnObjA.getName() << '\n';
        }
};

int main()
{
    ClassA objA;

    ClassB objB(objA);

    return 0;
}