due*_*dak 1 oop class object c++14
因此,我创建了“汽车”类。然后,我为我的课堂汽车中的对象创建变量(audi)。一切都很好,但我注意到我可以创建一个对象(引擎值为50),而无需指定要保存的变量。那么现在如何访问该对象?
#include <iostream>
using namespace std;
class Cars
{
public:
int getStatus();
Cars(int engine=5);
private:
int m_engine;
};
Cars::Cars(int engine)
{
m_engine=engine;
cout<<"A new car is made."<<endl;
}
Cars::getStatus()
{
cout<<m_engine<<endl;
}
int main()
{
Cars audi(10);
audi.getStatus();
Cars(50);
}
Run Code Online (Sandbox Code Playgroud)
这取决于您何时要访问对象。
Cars(50);
Run Code Online (Sandbox Code Playgroud)
使用这段代码,您将创建一个临时对象,该对象仅在当前语句执行期间存在(即,直到代码执行通过分号为止)。
Cars(50);
// I want to access the object here
Run Code Online (Sandbox Code Playgroud)
在这种情况下:为时已晚。该临时文件已被销毁,不再存在。没有机会回到它。但是,您可以使用对象,只要它存在就可以,例如,在对象上调用成员函数或将其传递给另一个函数:
Cars(10).doSomething();
// but right now (after the semicolon), the car doesn't exist any more
doSomethingElse(Cars(12));
// again, the object got destroyed
Run Code Online (Sandbox Code Playgroud)
请注意,在上面的示例中,您创建了两个不同的实例,每个实例在到达分号时都不再存在。同样要注意,对象的析构函数在此时间点被调用。