| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 746 人关注过本帖
标题:帮忙查错,谢谢!
只看楼主 加入收藏
cherrywang
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-4-23
收藏
 问题点数:0 回复次数:9 
帮忙查错,谢谢!
#include <iostream.h>

class Date
{
public:
    int month,day,year;

    void display()
    {
        char *mon[] = {
        "一月","二月","三月","四月",
        "五月","六月","七月","八月",
        "九月","十月","十一月","十二月"
                };
        cout<<mon[Date.month]<<" "<<Date.day<<","<<Date.year;

    }
};

void main()
{
    Date birthday = {1,16,1984};
    birthday.display();
}
搜索更多相关主题的帖子: void int mon public 
2008-05-06 18:39
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
初始化缺少构造函数

学习需要安静。。海盗要重新来过。。
2008-05-06 18:42
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
Date.month

//你见过这种写法吗,直接写成month或者是this->month

//不关构造函数的事,有默认的,跟struct一样,结构体可以这样赋值

雁无留踪之意,水无取影之心
2008-05-06 19:01
cherrywang
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-4-23
收藏
得分:0 
感谢三楼的兄弟!!
就是说在class内调用数据成员不能用“.”符号
那么直接用month和this->month有区别吗?
能否告诉我一下呢,谢谢!
2008-05-06 19:13
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
结构体是可以这样,但是我觉得不是很好...一旦错位得到的结果很奇怪而且只适合变量公有的情况,因为结构体默认都是共有的..this指针..不要..或者用实例对象..都可以
#include <iostream.h>
class Date
{
private:
    int month,day,year;

    Date():month(0),day(0),year(0){}

public:    
    Date(int i,int j,int k):month(i),day(j),year(k){}
    
    void display(Date d=*new Date())
    {
        char *mon[] = {
        "一月","二月","三月","四月",
        "五月","六月","七月","八月",
        "九月","十月","十一月","十二月"
                };
        cout<<mon[d.month]<<" "<<d.day<<","<<d.year<<endl;
        
    }
};

void main()
{
    Date birthday(1,16,1984);
    birthday.display();
    birthday.display(birthday);
   
}

[[it] 本帖最后由 sunkaidong 于 2008-5-6 19:30 编辑 [/it]]

学习需要安静。。海盗要重新来过。。
2008-05-06 19:24
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
[bo]以下是引用 [un]sunkaidong[/un] 在 2008-5-6 19:24 的发言:[/bo]

结构体是可以这样,但是我觉得不是很好


他写的就是一个结构体,这哪像个类....

雁无留踪之意,水无取影之心
2008-05-06 19:39
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
[bo]以下是引用 [un]cherrywang[/un] 在 2008-5-6 19:13 的发言:[/bo]

感谢三楼的兄弟!!
就是说在class内调用数据成员不能用“.”符号
那么直接用month和this->month有区别吗?
能否告诉我一下呢,谢谢!


不是不能用".",只不过这个地方的是DATA是类名,只有对象才能用"."

那两个对普通变量是一样的,但静态变量不能用this->month

雁无留踪之意,水无取影之心
2008-05-06 19:45
cherrywang
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-4-23
收藏
得分:0 
哦,谢谢P大哥啊
本来是个结构体,我为了看起来方便写成类了,呵呵
原来在类里面不能用.啊~,长见识了
这样记得牢,哈哈
2008-05-06 22:11
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
[bo]以下是引用 [un]cherrywang[/un] 在 2008-5-6 22:11 的发言:[/bo]

原来在类里面不能用.啊~,长见识了
这样记得牢,哈哈


在结构体里照样不能用结构体名加"."来表示成员,一样要用到变量名(只不过在类里将其称为对象),而不是结构体名.

雁无留踪之意,水无取影之心
2008-05-06 22:25
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
结构体在c++primer里面可看成局域类

学习需要安静。。海盗要重新来过。。
2008-05-06 23:08
快速回复:帮忙查错,谢谢!
数据加载中...
 
   



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

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