//---------main.cpp------------
#include <iostream>
using namespace std;
class A
{
public:
A(){std::cout<<"A -> "<<endl;}
};
class B
{
public:
B(){std::cout<<"B -> "<<endl;}
};
class C
{
public:
C(){std::cout<<"C -> "<<endl;}
};
void func()
{
std::cout<<endl<<" func :"<<endl;
A a; //定义局部对象a
static B b; //静态对象只创建一次 ,定义静态局部对象b
C c; //定义局部对象c
}
int main(int argc,char **argv)
{
std::cout<<"main : "<<endl;
for(int i = 1;i<=2;i++)
{
for(int j=1;j<=2;j++)
if(i==2) C c;else A a; //定义局部对象c和a
B b; //定义局部对象 b
}
func();
func();
return 0;
}
main :
A ->
A ->
B ->
C ->
C ->
B ->
func :
A ->
B ->
C ->
func :
A ->
C ->
请按任意键继续. . .
定义对象的顺序决定对象创建的顺序。
静态对象只创建一次。
1