首页 > 编程地带 > 构造函数与析构函数

构造函数与析构函数

2007年12月10日 发表评论 阅读评论

我班的同学一直感觉构造函数比较难,来个简单的例子:

<br />#include<iostream.h><br />#include<string.h><br />class person<br />{<br />private:<br />  static int num;           //定义静态变量<br />  int idcard;<br />public:<br />  char person_name&#91;8&#93;;<br />  char person_sex&#91;2&#93;;<br />  int age;<br />  person( char str1&#91;8&#93;="woyigui",char str2&#91;2&#93;="f",int x=18)  //省略参数的构造函数<br />  {<br />    num++;<br />    idcard=num;<br />    strcpy( person_name,str1);<br />    strcpy( person_sex,str2);<br />    age=x;<br />  }<br />  person( int x,char str1&#91;8&#93;,char str2&#91;2&#93;)    //定义重载构造函数<br />  {<br />    num++;<br />    idcard=num;<br />    strcpy( person_name,str1);<br />    strcpy( person_sex,str2);<br />    age=x;<br />  }<br />  person( const person &p)              //定义拷贝构造函数<br />  {<br />    num++;<br />    idcard=num;<br />    strcpy( person_name,p.person_name);<br />    strcpy( person_sex,p.person_sex);<br />    age=2*p.age;<br />  }<br /><br />  ~person()                            //析构函数<br />  {<br />    cout<<"程序结束,析构函数被调用,释放空间"<<endl;<br />  }<br /><br />  static void display( person &x)     //静态成员函数<br />  {<br />    cout<<"idcard:"<<x.idcard;<br />    cout<<"&#92;tperson_name:"<<x.person_name;<br />    cout<<"&#92;tperson_sex:"<<x.person_sex;<br />    cout<<"&#92;tage:"<<x.age<<endl;<br />  }<br />};<br />int person::num=0;<br /><br />void main()<br />{<br />  person p1;<br />  cout<<"p1的信息"<<endl;<br />  person::display(p1);       //无参生成对象<br />  person p2("woyigui","m",18);<br />  cout<<"p2的信息"<<endl;<br />  person::display(p2);<br />  person p3(19,"冰剑","m");<br />  cout<<"p3的信息:"<<endl;<br />  person::display(p3);<br />  person p4(p3);<br />  cout<<"p4的信息:"<<endl;<br />  person::display(p4);<br />}<br />

转载请注明:woyigui's blog [http://www.woyigui.cn/]
本文标题:构造函数与析构函数
本文地址:http://www.woyigui.cn/2007/12/10/%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0%E4%B8%8E%E6%9E%90%E6%9E%84%E5%87%BD%E6%95%B0/

分类: 编程地带 标签: ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
*