構造函數

構造函數比較簡單,但比較重要:
 
#include <iostream>
using namespace std;

class A{
   int a,b;
public:
  A( int m, int n){a=m;b=n;} //帶參數構造函數
   void show();
};

void A::show()
{
  cout<<a<< ","<<b<<endl;
}
int main( int argc, char **argv)
{
  A aa(3,4);
  aa.show();
   return 0;
}
 
普通的構造函數,帶2個×××參數。
 
/*************************************************
*圖書館書籍信息
*************************************************/

    
#include <iostream>
using namespace std;

const int IN=1;
const int CHECKED_OUT=0;
class Book{
   char author[60]; //做者
   char title[60]; //書名
   int status; //借出狀態
public:
  Book( char *n, char *t, int s); //構造函數
   int getStatus(){ return status;}
   void setStatus( int s){status=s;}
   void show();
};

Book::Book( char *n, char *t, int s)
{
  strcpy(author,n);
  strcpy(title,t);
  status=s;
}
void Book::show()
{
  cout<< "<<"<<title<< ">>"<<endl;
  cout<< "做者:"<<author<<endl;
   if(status==IN)cout<< "在館內"<<endl;
   else
  cout<< "已借出"<<endl;
}
int main( int argc, char **argv)
{
  Book b1( "猴子與老豬", "張三",IN);
  b1.show();
   return 0;
}
 
 
看下下面這個只是但參數的構造函數特例初始化:
 
/*只有一個參數的構造函數的特例*/

#include <iostream>
using namespace std;

class A{
   int a;
public:
  A( int j){a=j;}
   void show();
};

void A::show()
{
  cout<<a<<endl;
}
int main( int argc, char**argv)
{
  A aa=123; //注意這裏的初始化
  aa.show();
   return 0;
}
相關文章
相關標籤/搜索