首页 > 解决方案 > 如何在 cout 中打印对象值?

问题描述

我有一个名为 的对象obj1,并且我已经使用该对象访问了一个类的实例New(比如idobj1。例如,obj1.id=500;

然后我想打印出这个语句:"The name of id=500 is:",那么我如何obj1.id在语句中写入值cout

标签: c++classinstance

解决方案


要简单地输出id,因为它是一个内置类型 (int),您只需将消息的每个部分链接在一起,如下所示:

int main() {
    std::cout << "The name of id=" << obj1.id << " is:";
    return 0;
}

但是,如果您还想输出原始变量名称,则必须使用预处理器宏(请参阅 Wikitionary 文章stringize

// This can be used to generate a string from a variable name
#define NAME_OF_VARIABLE(var) #var

int main() {
    // Prints: "The name of id=500 is: obj1"
    std::cout << "The name of id=" << obj1.id << " is:" << NAME_OF_VARIABLE(obj1);
    return 0;
}

推荐阅读