| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1027 人关注过本帖, 1 人收藏
标题:有关this指针的知识,不太明白
只看楼主 加入收藏
lindayanglong
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2008-3-9
收藏(1)
 问题点数:0 回复次数:6 
有关this指针的知识,不太明白
下面是一段有关this指针的程序,我不理解x& X::Set(char *pc)
这样到底是什么意思,为什么要这样 请高手指教


#include<iostream>
#include<string>
using namespace std;
struct x
{
private:
    int len;
    char *ptr;
public:
    int GetLen()
    {
        return len;
    }
    char * Getptr()
    {
        return ptr;
    }
    X& Set(char *);
    X& Cat(char *);
    void print();
};
x& X::Set(char *pc)
{
    len=strlen(pc);
    ptr=new char[len];
    strcpy(ptr,pc);
    return *this;
}

x& X::Cat(char *pc)
{
    len+=strlen(pc);
    strcat(ptr,pc);
    return *this;
}

x& X::copy(X& x)
{
    Set(x.Getptr());
    return *this;
}
搜索更多相关主题的帖子: 指针 知识 
2008-08-29 15:32
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 
x& X::Set(char *pc)
{
    len=strlen(pc);//记录len为字符串pc的长度
    ptr=new char[len];//新辟堆内存空间给ptr
    strcpy(ptr,pc);//将字符串pc的内容复制给ptr
    return *this;//将调用Set成员函数的这个对象作为结果返回
}
2008-08-29 17:30
mcyrdb
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-12-8
收藏
得分:0 
x& X::Set(char *pc)
x& 是返回值结构体x的引用
因为声明和定义是分开的 所以有X::(应该是x::吧)
2008-08-29 22:06
scauhj
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-4-15
收藏
得分:0 
struct是类的一种,在这个程序当中函数的定义是在类的外面,所以要用::指示类的作用域,x& 是函数返回的类型引用
2008-08-29 23:38
zhuerhua
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-6-29
收藏
得分:0 
参考一楼回答.
2008-09-01 11:25
zzt_428
Rank: 2
来 自:南京师范大学
等 级:论坛游民
威 望:2
帖 子:243
专家分:22
注 册:2008-7-6
收藏
得分:0 
this 指针指向调用成员函数的对象本身.

学习切忌浮躁.
2008-09-30 12:01
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
收藏
得分:0 
这样主要是可以 在调用时 写成一列
举个例子:
set().Cat();
2008-09-30 20:28
快速回复:有关this指针的知识,不太明白
数据加载中...
 
   



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

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