| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 356 人关注过本帖
标题:构造函数问题求解:(红体的2行什么意思,不是很清楚),求大神指导
只看楼主 加入收藏
q470341376
Rank: 2
等 级:论坛游民
帖 子:9
专家分:18
注 册:2012-3-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
构造函数问题求解:(红体的2行什么意思,不是很清楚),求大神指导
#include<iostream>
#include<math.h>
#include<string.h>
using namespace std;
class balance
{private:
float funds;
public:
balance(float a=0):funds(a)
{}
~balance(void)
{}
void add(const float x);
void sub(const float x);
void print(void) const;
};
    void balance::add(const float x)
{
funds=funds+x;
}
void balance::sub(const float x)
{
funds=funds-x;
}
void balance::print(void) const
{
float temp=funds;
   if(funds>0)
{cout<<"余额:";
}
 else
{cout<<"欠款:";
 temp=-temp;
}
int yuan=int(temp);
cout<<yuan<<"元";
int jiao=int((temp-yuan)*10);
cout<<jiao<<"角";
int fen=int(ceil(temp*100-yuan*100-jiao*10));
cout<<fen<<"分"<<endl;
cout<<endl;
cout<<"------------------------------------------------------"<<endl;
}
class creditcard
{
private:
long creditcardno;
char name[30];
balance remains;
    public:
creditcard(const long a,char *n,balance r):creditcardno(a),remains(r)
 {
 strcpy(name,n);
 }
 ~creditcard(void)
 {}
 void add(const float x);
 void sub(const float x);
 void transfer(creditcard &a,const float x);
 void print(void) const;
};
void creditcard::add(const float x)
{
remains.add(x);
}
 void creditcard::sub(const float x)
 {
 remains.sub(x);
 }
 void creditcard::transfer(creditcard &a,const float x)
 {
 cout<<"用户:"<<name<<"转账给"<<a.name<<"金额:"<<x<<"元"<<endl;
 remains.sub(x);
 a.remains.add(x);
 }  
 void creditcard::print(void) const
 {
 cout<<"姓名:"<<name<<" ";
 cout<<"账户:"<<creditcardno<<" ";
 remains.print();
 }
int main()
{
creditcard a1(100000,"强天晨",balance(1000));
creditcard a2(100001,"爸",balance(0));
creditcard a3(100002,"儿子",balance(-1000));
a1.print();
a2.print();
a3.print();
a1.transfer(a2,999.99);
a2.add(1000);
a3.sub(1000);
a1.print();
a2.print();
a3.print();
                        cout<<"最穷的永远是我啊,我穷我快乐"<<endl;
return 0;
}
搜索更多相关主题的帖子: void private balance include public 
2012-04-02 20:53
Wikyo_hoho
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:31
专家分:188
注 册:2012-3-12
收藏
得分:14 
balance(float a=0):funds(a)
{}
俩个都是类的构造函数,:funds(a)是初始化参数列表,相当于
balance(float a=0)
{funds=a;}
但有些情况必须用上面那种初始化
2012-04-03 11:24
q470341376
Rank: 2
等 级:论坛游民
帖 子:9
专家分:18
注 册:2012-3-31
收藏
得分:0 
谢谢楼上了
creditcard(const long a,char *n,balance r):creditcardno(a),remains(r)
就相当于creditcardno=a,remains=r,对吧
再问一下:有些情况是什么时候
2012-04-03 13:18
快速回复:构造函数问题求解:(红体的2行什么意思,不是很清楚),求大神指导
数据加载中...
 
   



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

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