首页 > 试题广场 >

以下程序运行结果为() #include

[填空题]
以下程序运行结果为1

#include<iostream>

class A

{

public:

A( );

A(int i, int j);

~A( ){cout<<a<< Destructor.\n”;}

void print( );

private:

int a,b;

};

A::A( )

{ a=b=10;cout<<”Default constructor.\n”;}

A::A(int i,int j)

{a=i;b=j;cout<<”Constructor.\n”;}

void A::print( )

{cout<<”a=”<<a<<”,b=”<<b<<endl;}

void main( )

{

A m,n(15,18);

m.print( );

n.print( );

}

答案为:
Default constructor.
Constructor.
a=10,b=10
a=15,b=18
15Destructo.
10Destructor.

main函数中创建对象时,先调用无参构造函数再调用有参构造函数,两个对象有不同的属性值并打印,最后程序结束先构造的后析构(有点像继承,父类先构造后析构)
发表于 2021-08-26 15:55:35 回复(0)