| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 449 人关注过本帖
标题:[求助]关于调用构造函数的问题
只看楼主 加入收藏
cbingli
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-12
收藏
 问题点数:0 回复次数:2 
[求助]关于调用构造函数的问题
#include <iostream>
class date{

public:
date(int M,int Y,int D):year(1990),month(1),day(1){}
private:
int year,month,day;
};
class calendar{
public:
calendar(int M,int Y){ d=date(M,1,Y);}//要怎样我才能在函数定义中去实现d的初始化;
private:
date d;
};
这是《数据结构C++语言描述》中的代码,书上的代码好象不能运行。

我这样:d(...){}初始化可以, 但一旦要函数定义中对d进行初始化就不行,说没有匹配的函数,要怎么改才可以呢?

请高人指点...
搜索更多相关主题的帖子: 函数 构造 
2007-05-18 09:46
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
应该是忘了写默认构造函数date(){}了吧。
class date{

public:
date(){}
date(int M,int Y,int D):year(1990),month(1),day(1){}
private:
int year,month,day;
};

人生重要的不是所站的位置,而是所朝的方向
2007-05-18 14:44
cbingli
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-12
收藏
得分:0 

嗯,大概明白了,当用户自己定义了构造函数时,编译器将不会自动创建default构造函数,所以calendar中的d无法初始化。

2007-05-18 16:49
快速回复:[求助]关于调用构造函数的问题
数据加载中...
 
   



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

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