#include
using namespace std;
class Test
{
private:
int num;
public:
Test();
Test(int n);
};
Test::Test()
{
cout<<"Init defa"<
输出结果如下:#include
using namespace std;
class Xx
{
private:
int num;
public:
Xx(int x)
{
num=x;
}
~Xx()
{
cout<<"dst"<
输出结果如下:#include
using namespace std;
class Part
{
public:
Part();
Part(int x);
~Part();
private:
int val;
};
Part::Part()
{
val=0;
cout<<"Default constructor of Part"<
运行结果如下图所示:分析:程序Whole类中出现了类Part的3个对象p1、p2和p3作为该类的数据成员,则p1、p2和p3被称为子对象。当建立的Whole类的对象w时,子对象p1、p2和p3被建立,所指定的构造函数被执行。由于p1在Whole类中先说明,所以先执行它所使用的构造函数,即类Part的默认构造函数。接着p2执行它所使用的有参构造函数,最后初始化p3,由于Whole类构造函数的成员初始化列表中没有子对象p3进行初始化的选项,所以执行类Part的默认构造函数,当所有子对象被构造完成之后,对象w的构造函数才被执行,从而得到前4行输出结果。后4行是执行相应析构函数的输出结果#include
using namespace std;
class Book
{
public:
Book(int w);
static int sumnum;
private:
int num;
};
Book::Book(int w)
{
num=w;
sumnum-=w;
}
int Book::sumnum=120;
int main()
{
Book b1(20);
Book b2(70);
cout<
输出结果如下图所示:#include
using namespace std;
const float PI=3.14;
class Circle
{
public:
Circle(float r)
{
radius=r;
}
float area()
{
return radius*radius*PI;
}
private:
float radius;
};
int main()
{
Circle c(6);
cout<<"圆的面积="<
运行结果如下:#include
using namespace std;
class Book
{
public:
Book(int w);
static int sumnum;
static int getsum()
{
return sumnum;
}
private:
int num;
};
Book::Book(int w)
{
num=w;
sumnum-=w;
}
int Book::sumnum=120;
int main()
{
Book b1(20);
Book b2(70);
cout<
运行结果如下: