新微赢技术网

标题: 构造函数里含指针的问题 [打印本页]

作者: 市井游侠々    时间: 2009-11-3 04:16
标题: 构造函数里含指针的问题
写了个类,不知哪错了:
#ifndef _CSTR_H
#define _CSTR_H
class CStr
{
public:
    CStr(char *str = NULL);
    ~CStr();
protected:
private:
    char *m_str;
};
#endif;
作者: ξǒひ糀無蒛    时间: 2009-11-3 04:16
错误信息呢?
作者: 藤蘿下的陽光    时间: 2009-11-3 04:16
error C2065: 'NULL' : undeclared identifier
error C2440: 'default argument' : cannot convert from 'int' to 'char *'
unable to recover from previous error(s);
作者: 为你执著    时间: 2009-11-3 04:16
还有如果类里含指针成员数据,构造函数该怎么给它初始化。。
作者: 烟灰缸2    时间: 2009-11-3 04:16
CStr::CStr(char *str /* = NULL */)
{
    m_str = str;
}
作者: .`D.D`地`    时间: 2009-11-3 04:16
你可以用string类
作者: 爱虎老油♂    时间: 2009-11-3 04:16
谢谢
fdghdfghdghgdh
作者: 寂寞男孩    时间: 2009-11-3 04:16
#include"iostream.h"
#ifndef _CSTR_H
#define _CSTR_H

class CStr
{
public:
    CStr(char *str);
    ~CStr();
protected:
private:
    char *m_str;
};

CStr::CStr(char *str)//这里可以用char *str=NULL
{
    m_str=str;
}
CStr::~CStr()
{
    cout<<m_str<<endl;
}
#endif
main()
{   char s[]={"aasdsdfdsf"};
    CStr *c1;
    c1=new CStr(s);
    delete c1;

}
有的时候语法没问题但是编译器不一定通过......
作者: 城市之肺    时间: 2009-11-3 04:16
还有个疑问:
CStr(char *str);
这个构造函数,如果我定义个对象比如CStr cstr;
这样就出问题了:no appropriate default constructor available




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2