C++组合构造函数

[复制链接]
查看11 | 回复2 | 2007-11-26 18:04:56 | 显示全部楼层 |阅读模式
看看吧,自己运行下,看我说的对不#include using namespace std;class A{public : A(){cout""""; static B b; C c;}int main(){ coutdispoint();}输出结果如下:First point=(12,6)Second point=(5,12)从执行结果可以 看到当你执行到下列语句时,TPoint a(12,6),*p=new TPoint(5,12);不仅定义了TPoint对象a和一个无名对象指针p,还自动调用了类的构造函数,也就是说在定义类的对象的时候就自动调用构造函数进行对象的初始化。这是因为编译器自动在a的定义点插入了一个TPoint::TPoint(12,6)的调用。析构的自己看吧,书上什么都有,我也是在书上看的。
回复

使用道具 举报

千问 | 2007-11-26 18:04:56 | 显示全部楼层
#includeusingnamespacestd;classA{public:A(){cout"<"<"<";staticBb;Cc;}intmain(){cout<<"main:";for(inti=1;i<=2;++i){for(intj=1;j<=2;++j)if(i==2)Cc;elseAa;Bb;}func();func();return0;}//对象的析构顺序和创建顺序正好相反;析构函数总是出现在对象生命期结束时。静态对象在程序运行结束之时析构
回复

使用道具 举报

千问 | 2007-11-26 18:04:56 | 显示全部楼层
构造函数是当你实例化一个对象时候自动调用的。以下为例子~~~classa{private: inta;
//私有成员,可以允许自己的成员函数访问,也可以允许友元(friend)访问。public: a();
//构造函数
~a();
//析构函数}; intmain(){ a.a;
//实例化一个对象a 在这个时候就会自动调用a();这个构造函数~~~函数体自己写吧。
//tips.. 构造函数 一般用于初始化。
//如果在这个地方。这个a这个对象使用完毕。会自动调用~a();这个析构函数。 //tips...析构函数一般用于销毁·~如果之前用到了new 或者malloc 动态申请内存。则在析构函数中进行销毁~}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行