免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1917 | 回复: 3

[函数] 关于构造函数与析构函数的问题 [复制链接]

论坛徽章:
0
发表于 2007-09-14 15:56 |显示全部楼层
不好意思,麻烦看一下下面的问题:

//create.h
#ifndef CREATE_H
#define CREATE_H

class CreateAndDestroy
{
public:
        CreateAndDestroy( int );
        ~CreateAndDestroy();
private:
        int data;
};

#endif


//create.cpp
#include <iostream.h>
#include "create.h"

CreateAndDestroy::CreateAndDestroy( int value )
{
        data = value;
        cout << "Object " << data << " constructor";
}

CreateAndDestroy::~CreateAndDestroy()
{
        cout << "Object " << data << " destructor" << endl;
}


//test.cpp
#include <iostream.h>
#include "create.h"
#include "create.cpp"

void create (void);

CreateAndDestroy first(1);

int main()
{
        cout << " (global created before main)" << endl;
        CreateAndDestroy second(2);
        cout << " (local automatic in main)" << endl;
        static CreateAndDestroy third(3);
        cout << " (locak static in main)" << endl;
        create();
        CreateAndDestroy fourth(4);
        cout << " (local automatic in main)" << endl;

        system("pause");
        return 0;
}

void create(void)
{
        CreateAndDestroy fifth(5);
        cout << " (local automatic in function)" << endl;
        static CreateAndDestroy sixth(6);
        cout << " (local static in function)" << endl;
        CreateAndDestroy seventh(7);
        cout << " (local automatic in function)" << endl;
}


这个程序运行时老出现内存访问出错的问题,但我实在找不到错在哪,麻烦了。

论坛徽章:
0
发表于 2007-09-14 16:06 |显示全部楼层
把这一句去掉
#include "create.cpp"

iostream.h 都换成iostream

论坛徽章:
0
发表于 2007-09-14 16:09 |显示全部楼层
原帖由 ypxing 于 2007-9-14 16:06 发表

iostream.h 都换成iostream


理论上这样也可以的吧,加上“.h”就不用加“using namespace std;”

论坛徽章:
0
发表于 2007-09-14 16:09 |显示全部楼层
原帖由 ypxing 于 2007-9-14 16:06 发表
把这一句去掉
#include "create.cpp"

iostream.h 都换成iostream

还要加上using namespace std;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP