怎么写构造函数

怎么写构造函数写构造函数的所需要的是什么

C++的构造函数定义格式为:
  class <类名>
  {
  public:
  <类名>(参数表)
  //...(还可以声明其它成员函数)
  };
  <类名>::<类名>(参数表)
  {
  //函数体
  }
  如以下定义是合法的:
  class T
  {
  public:
  T(int a=0){i=a;}//构造函数允许直接写在类定义内,也允许有参数表。
  private:int i;
  };
  当程序中没有析构函数时,系统会自动生成以下构造函数:
  <类名>::<类名>(){},即不执行任何操作。 [编辑本段]C++例子  //注意若将本代码直接复制进编译器,可能会报错,原因是网页生成时会在代码前加一个中文占位符
  //最好将代码再写一次
  #include <iostream>
  using namespace std;
  class time
  {
  public:
  time() //constructor.构造函数
  {
  hour=0;
  minute=0;
  sec=0;
  }
  void set_time();
  void show_time();
  private:
  int hour;
  int minute;
  int sec;
  };
  int main()
  {
  class time t1;
  t1.show_time();
  t1.set_time();
  t1.show_time();
  return 0;
  }
  void time::set_time()
  {
  cin >>hour;
  cin >>minute;
  cin >>sec;
  }
  void time::show_time()
  { cout<<hour<<":"<<minute<<":"<<sec<<endl;
  }
  程序运行情况:
  0:0:0
  10 11 11 回车
  10:11:11
  任何时候,只要创建类或结构,就会调用它的构造函数。类或结构可能有多个接受不同参数的构造函数。构造函数使得程序员可设置默认值、限制实例化以及编写灵活且便于阅读的代码。
  JAVA示例代码:
  public class UserManagerImpl implements UserManager {
  private UserDao userDao;
  public UserManagerImpl(UserDao userDao){
  this.userDao=userDao;
  }
  public void save(String username,String password){
  this.userDao.save(username, password);
  }
  }
  PHP中的构造函数
  构造函数的声明与其它操作的声明一样,只是其名称必须是两个下划线__construct( )。这是PHP5中的变化;PHP4的版本中,构造函数的名称必须与类名相同。为了向下兼容,如果一个类中没有名为__construct( )的方法,PHP将搜索一个与类名相同的方法。
  格式:function __construct ( [参数] ) { ... ... }
  例子:
  <?php
  class person{
  public $name;
  public $age;
  function _ _construct(){ // 构造函数
  $this->name="lisi";
  $this->age=28;
  }
  function say(){
  echo "my name is ".$this->name."<br>";
  echo "my age is ".$this->age."<p>";
  }
  }
  $per=new person();
  $per->say();
  $per->name="zhangsan";
  $per->age=26;
  $per->say();
  ?>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-13
构造函数这种方法 简单来说就是进行的初始化对象以java为例public class Student{ int id = 0; public Student(int id){ this.id = id; }}以上代码中public Student()就是一个构造函数 也就是构造方法 用来初始化id 这个成员变量本回答被网友采纳
第2个回答  推荐于2017-09-20
  构造函数一般是用来进行初试化的,看你需要对哪些属性进行初始化
#include<iostream.h>
#include<string.h>
class student
{
public:
char name[10];
float score;
student(char[],float);//这里形式参数就是你要初试化的变量的类型。
~student();
};
student::student(char temp[10],float score1)
{
strcpy(name,temp);
score=score1;
cout<<name<<endl;
cout<<score<<endl;

}
student::~student()
{
cout<<"调用析构函数";
}
void main()
{
student stu("sunhong",99);
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网