什么是构造函数?求答案

 我来答
温柔_169蹒迬
2013-10-24 · TA获得超过184个赞
知道答主
回答量:174
采纳率:0%
帮助的人:116万
展开全部
是构造方法,不是构造函数吧?构造函数 - 简介构造函数 是一种特殊的方法 主要用来在创建对象时初始化对象 即为对象成员变量赋初始值 总与new运算符一起使用在创建对象的语句中 特别的一个类可以有多个构造函数 可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载 构造函数 - 构造函数与其他方法的区别1.构造函数的命名必须和类名完全相同;而一般方法则不能和类名相同. 2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有返回值.即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的. 3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用. 4.当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的.而一般方法不存在这一特点 5当一个类只定义了私有的构造函数,将无法通过new关键字来创建其对象,当一个类没有定义任何构造函数,C#编译器会为其自动生成一个默认的无参的构造函数。 构造函数 - C++中的构造函数C++的构造函数定义格式为: 构造函数 class <类名> { public: <类名>(参数表) //...(还可以声明其它成员函数) }; <类名>::<类名>(参数表) { //函数体 } 如以下定义是合法的: class T { public: T(int a=0){i=a;}//构造函数允许直接写在类定义内,也允许有参数表。 private:int i; }; 当程序中没有析构函数时,系统会自动生成以下构造函数: <类名>::<类名>(){},即不执行任何操作。 构造函数 - C++例子//注意若将本代码直接复制进编译器,可能会报错,原因是网页生成时会在代码前加一个中文占位符 //最好将代码再写一次 #include 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<} 程序运行情况: 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 ( [参数] ) { ... ... } 例子: class person{ public $name; public $age; function _ _construct(){ // 构造函数 $this->name="lisi"; $this->age=28; } function say(){ echo "my name is ".$this->name.""; echo "my age is ".$this->age.""; } } $per=new person(); $per->say(); $per->name="zhangsan"; $per->age=26; $per->say(); ?> C#例子 构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,它通常初始化新对象的数据成员。 在下面的示例中,使用一个简单的构造函数定义了名为 Taxi 的类。然后使用 new 运算符来实例化该类。在为新对象分配内存之后,new 运算符立即调用 Taxi 构造函数。 public class Taxi{ public bool isInitialized; public Taxi() { isInitialized = true; }}class TestTaxi{ static void Main() { Taxi t = new Taxi(); System.Console.WriteLine(t.isInitialized); }}]
落叶的身后是谁52
2013-10-23 · TA获得超过368个赞
知道答主
回答量:135
采纳率:0%
帮助的人:71.5万
展开全部
构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化.构造函数具有一些特殊的性质:
(1)构造函数的名字必须与类同名;
(2)构造函数没有返回类型,它可以带参数,也可以不带参数;
(3)声明类对象时,系统自动调用构造函数,构造函数不能被显式调用;
(4)构造函数可以重载,从而提供初始化类对象的不同方法;
(5)若在声明时未定义构造函数,系统会自动生成默认的构造函数,此时构造函数的函数体为空.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星家粉团93
2013-10-23 · 超过68用户采纳过TA的回答
知道答主
回答量:121
采纳率:50%
帮助的人:125万
展开全部
类对象实例化前先要调用类成员函数.1,函数特征:函数名和类名相同;2,函数没有返回值;3,函数可以重载;构造函数的作用一般是初始化一些类成员变量. 如果没有自己定义的构造函数,那系统会自动调用无参数的default构造函数,此函数什么也不做. 另外析构函数是不可以重载的.]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式