| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 534 人关注过本帖
标题:类的访问问题
只看楼主 加入收藏
wxm198427
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:561
专家分:25
注 册:2008-6-30
结帖率:52.7%
收藏
 问题点数:0 回复次数:2 
类的访问问题
有以下一段程序,大家可能见过,
#include <iostream>
using namespace std;
class Time
 {public:                    //成员改为公用的
    int hour;
    int minute;
    int sec;
  };
Time t;
void set_time(void)          //在main函数之前定义
 {
  cin>>t.hour;
  cin>>t.minute;
  cin>>t.sec;
 }
 
void show_time(void)         //在main函数之前定义
 {
  cout<<t.hour<<":"<<t.minute<<":"<<t.sec<<endl;
 }

int main()
{set_time();
 show_time();
 return 0;
}
上面的程序是正确的,我就有疑问:
第一:set_time show_time在上面都没有定义为类的成员函数,为什么能被外部函数调用,这个是因为类成员声明为公用的,但是还为什么要加上t.hour,t.minute.t.sec呢??为什么还要通过对象调用呢?怎么不可以是直接
void set_time(void)
{cin>>hour;
cin>>minute;
cin>>sec;}
show_time雷同,还有为什么要set_time(void),不可以是set_time()吗?请各位大虾帮我解释………………谢谢!!
搜索更多相关主题的帖子: 访问 
2008-10-24 15:30
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
收藏
得分:0 
因为类声明是不分配空间的
只有在定义类对象的时候才 实例化
所以 只有用 类对象才能引用 类的成员 否则 程序并不知道 hour,minute 都是什么
2008-10-24 16:19
wxm198427
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:561
专家分:25
注 册:2008-6-30
收藏
得分:0 
噢,谢谢
2008-10-24 16:33
快速回复:类的访问问题
数据加载中...
 
   



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

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