为什么c++会使用构造函数

1.为什么c++会使用构造函数呢?

     构造函数是为了进行变量的初始化。

2.为了只是变量的初始话,为什你们我们不能直接使用像c语言中的方法:(例如 int a = 0)

看下面这个例子是通过调用函数setdate(int y,int m,int d);进行变量初始话的。

#include <iostream>
using namespace std;
class date
{
public:
     void getdate();
     int getyear();
     int getmonth();
     int getday();
     void setdate(int y,int m,int d);
private:
 int year,month,day;
};
int date::getyear(){ return year; }
int date::getmonth(){ return month; }
int date::getday(){ return day; }
void date::getdate()
{
     cout<<
"today is:"<<year<<"-"<<month<<"-"<<day<<endl; }
void date::setdate(int y,int m,int d)
{
      year=y; month=m; day=d;  }
int main()
{
    date d;
    d.setdate(2011,2,1);
    cout<<"year="<<d.getyear()<<endl;
    cout<<"month="<<d.getmonth()<<endl;
    cout<<"day="<<d.getday()<<endl;
    d.getdate();
    return 0;
}

3.这个地方是通过使用构造函数进行初始化,它的方式就是像我们平时进行变量定义  int a.
#include <iostream>
using namespace std;
class date
{
public :
    date( int y=0, int m=0, int d=0)
     {
        year=y; month=m; day=d; }
       date(date &d)
      { year=d.year; month=d.month; day=d.day; }
       void getdate()
       {
            cout<<
"today is:" <<year<< "-" <<month<< "-" <<day<<endl; }
             int getyear() { return year; }
             int getmonth() { return month; }
             int getday() { return day; }
           private :
            int year,month,day;
};
 
int main()
{
       date d1(2011,2,1),d2,d3(d1);
     d1.getdate();
      d2.getdate();
      d3.getdate();
      return 0;
}



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值