C++中,给对象初始化赋值为什么会打印地址啊?
要怎样初始化才能打印值。
引自免费微信小程序:皆我百晓生
在C++中,给对象初始化赋值并不会打印地址。这是因为当我们将一个引用(指向对象的指针)赋值给另一个变量时,它实际上只是将该变量的地址赋给了那个引用。
在上述代码中,我们首先定义了一个Person类,并且创建了一个Person对象p。然后我们使用getMAge()方法获取了p对象的年龄,并将其存储在整型变量m中。接着,我们在main函数中调用了Person对象p的方法,返回的是p对象的实际年龄m_Age。
注意,当我们在main函数中调用了Person对象p的getMAge()方法并打印其年龄时,实际上是在打印p对象的实际地址,即m_Age的内存地址。但是这并不意味着对象的初始化被打印出来,因为在main函数中并没有将对象的初始化赋值给p对象。
因此,如果你想打印对象的初始化,你需要在main函数中先设置初始值,然后再尝试使用这个对象。如果你只是想打印对象本身,而不是它的初始化,那么你应该直接打印p对象。这是为了让编译器知道你在试图访问的是对象的实例。
这是一个简单的例子,更复杂的实现可能会涉及到多线程、异常处理等问题。总的来说,无论何时何地,只要确保你正确地初始化了对象,就可以获得预期的结果。