标题:构造函数里含指针的问题
只看楼主
yangdh08
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-3-10
 问题点数:0 回复次数:16 
构造函数里含指针的问题
写了个类,不知哪错了:
#ifndef _CSTR_H
#define _CSTR_H
class CStr
{
public:
    CStr(char *str = NULL);
    ~CStr();
protected:
private:
    char *m_str;
};
#endif;
搜索更多相关主题的帖子: 指针 构造 
2008-03-10 13:10
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
错误信息呢?

学习需要安静。。海盗要重新来过。。
2008-03-10 13:14
yangdh08
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-3-10
得分:0 
错误:
error C2065: 'NULL' : undeclared identifier
error C2440: 'default argument' : cannot convert from 'int' to 'char *'
unable to recover from previous error(s);
2008-03-10 13:14
yangdh08
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-3-10
得分:0 
能给我说说类里定义指针成员数据该怎么用吗?
还有如果类里含指针成员数据,构造函数该怎么给它初始化。。
2008-03-10 13:15
yangdh08
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-3-10
得分:0 
我是这样写的:
CStr::CStr(char *str /* = NULL */)
{
    m_str = str;
}
2008-03-10 13:19
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
你可以用string类

学习需要安静。。海盗要重新来过。。
2008-03-10 13:26
yangdh08
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-3-10
得分:0 
晕。。就是想了解下类里指针的用法
谢谢
fdghdfghdghgdh
2008-03-10 13:28
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
#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;

}
有的时候语法没问题但是编译器不一定通过......

[[it] 本帖最后由 sunkaidong 于 2008-3-10 13:41 编辑 [/it]]

学习需要安静。。海盗要重新来过。。
2008-03-10 13:35
yangdh08
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-3-10
得分:0 
谢谢。。我试试
还有个疑问:
CStr(char *str);
这个构造函数,如果我定义个对象比如CStr cstr;
这样就出问题了:no appropriate default constructor available
2008-03-10 13:40
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
提示你没有默认的构造函数可以用..这个涉及拷贝构造函数问题...

学习需要安静。。海盗要重新来过。。
2008-03-10 13:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-202761-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.137056 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved