设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1150|回复: 8
打印 上一主题 下一主题

构造函数里含指针的问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 04:16:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写了个类,不知哪错了:
#ifndef _CSTR_H
#define _CSTR_H
class CStr
{
public:
    CStr(char *str = NULL);
    ~CStr();
protected:
private:
    char *m_str;
};
#endif;
2#
发表于 2009-11-3 04:16:06 | 只看该作者
错误信息呢?
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 04:16:07 | 只看该作者
error C2065: 'NULL' : undeclared identifier
error C2440: 'default argument' : cannot convert from 'int' to 'char *'
unable to recover from previous error(s);
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 04:16:08 | 只看该作者
还有如果类里含指针成员数据,构造函数该怎么给它初始化。。
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-3 04:16:10 | 只看该作者
CStr::CStr(char *str /* = NULL */)
{
    m_str = str;
}
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-3 04:16:11 | 只看该作者
你可以用string类
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-3 04:16:12 | 只看该作者
谢谢
fdghdfghdghgdh
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-3 04:16:13 | 只看该作者
#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;

}
有的时候语法没问题但是编译器不一定通过......
回复 支持 反对

使用道具 举报

9#
发表于 2009-11-3 04:16:15 | 只看该作者
还有个疑问:
CStr(char *str);
这个构造函数,如果我定义个对象比如CStr cstr;
这样就出问题了:no appropriate default constructor available
回复 支持 反对

使用道具 举报

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

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 02:41 , Processed in 0.112768 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表