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

    xiaoxiao2021-03-25  108

    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; }

    转载请注明原文地址: https://ju.6miu.com/read-32561.html

    最新回复(0)