免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 971 | 回复: 6
打印 上一主题 下一主题

我有两个问题要问大家啊。谢谢了。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-16 18:49 |只看该作者 |倒序浏览

#include<iostream.h>;
#include<string.h>;
class Girl;
class Boy {
                char *name;
                        int  age;
public:
              Boy(char *n,int a)
                  {
                          name=new char[strlen(n)+1];
                          strcpy(name,n);
                          age=a;
                  }
                  void disp(Girl &;
                  ~Boy(){delete name;}
};
class Girl{
        char *name,*dial;
public:
          Girl(char*n,char*d)
          {
                  name=new char[strlen(n)+1];
                  strcpy(name,n);
                  dial=new char[strlen(d)+1];
                  strcpy(dial,d);
          }
          friend void Boy::disp(Girl &;
          ~Girl(){delete name,delete dial;}
};
void Boy::disp(Girl &x)
{
        cout<<"Boy\'s name:"<<name<<",age:"<<age<<"\n";
    cout<<"Girl\'s name is:"<<x.name<<",tel:"<<x.dial<<"\n";
}
void main(void)
{
        Boy b("Bill",25);
        Girl e("Eluza","0353-5316215";
        b.disp(e);
}
请问大家两个问题啊。第一呢。
我把一刚开始的class Girl;删去为什么就不行呢?下面不是已经声明了Girl类了吗?这样做不是重复了吗?
第二:倒数8行void Boy::disp(Girl &x)中的x是什么具体含义呢?

论坛徽章:
0
2 [报告]
发表于 2004-10-16 19:09 |只看该作者

我有两个问题要问大家啊。谢谢了。

一.class girl 是girl 类的声明,在boy类中用到girl 类,若不声明系统不认识girl类.
二.x是girl类对象的引用.

论坛徽章:
0
3 [报告]
发表于 2004-10-16 19:20 |只看该作者

我有两个问题要问大家啊。谢谢了。

void Boy::disp(Girl &x)
{
cout<<"Boy\'s name:"<<name<<",age:"<<age<<"\n";

//上一句多余,因为disp()只能输出 girl类对象的成员.
cout<<"Girl\'s name is:"<<x.name<<",tel:"<<x.dial<<"\n";
}

论坛徽章:
0
4 [报告]
发表于 2004-10-16 19:29 |只看该作者

我有两个问题要问大家啊。谢谢了。

哦,谢谢你们。我明白了。感谢你们,解决了我的困扰。

论坛徽章:
0
5 [报告]
发表于 2004-10-16 19:51 |只看该作者

我有两个问题要问大家啊。谢谢了。

你们好。
程序其中的x是对象的引用,但这个x并没有声明,直接就可以拿来用吗?
像这样b.disp(Girl &x)用吗?
另一个是disp(Girl&x)并不是多余的,我查了书。
原话是这样的啊:
友员函数可以引用本类对象的私有成员,这时毋须本类对象的引用参数;
还可以引用声明它是友员的类中的私有成员,这是必须有友员类对象的引用参数。
我问的问题可能对大家来说很简单,但我不怕你们笑话,你们要是笑话我,那就告诉我为什么?只要我能懂得,笑话又有什么关系呢。是不是?

论坛徽章:
0
6 [报告]
发表于 2004-10-16 19:58 |只看该作者

我有两个问题要问大家啊。谢谢了。

呵呵,共同学习我也是新手.
x 向其他形参一样,可以直接用.

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2004-10-16 22:48 |只看该作者

我有两个问题要问大家啊。谢谢了。

原帖由 "mengyiqianxun" 发表:
你们好。
程序其中的x是对象的引用,但这个x并没有声明,直接就可以拿来用吗?
像这样b.disp(Girl &x)用吗?
另一个是disp(Girl&x)并不是多余的,我查了书。
原话是这样的啊:
友员函数可以引用本类对象的私有?.........

你看的是什么书呀?
问问题看的我晕头转向的。
还是买一本好的c++入门书籍来看吧。
搜索一下本版看一下书籍介绍。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP