黑马程序员技术交流社区

标题: 关于构造方法的疑问 [打印本页]

作者: 李烨    时间: 2014-4-14 23:48
标题: 关于构造方法的疑问
看到视频中讲的构造方法只是重写了init()方法,还有什么可以称之谓构造方法,我知道的是构造方法是为一些值初始化的时候赋上固定值,可以这么理解么,求详解构造方法!
作者: stone24    时间: 2014-4-15 00:53
重写构造方法的目的:为了让对象创建出来,成员变量应付有一些固定的值
  重写构造方法的注意点
  1.先调用父类的构造方法 [super init]
  2.再进行子类内部成员变量的初始化  
- (id)initWithAge:(int)age
{
        //1.一定要调回super的init方法:初始化父类中声明的一些成
        员变量和其他属性
        if(self = [super init])
        {
               _age = age;
        }

      //3.返回一个已经初始化完毕的对象
     return self;  
}

作者: 杨晓斌    时间: 2014-4-17 22:25
c++是这么说的构造函数是为了处理对象的初始化问题的,构造函数是一种特殊的成员函数,与其他成员函数不同,不需要用户赖掉用它,而是在建立对象时自动执行。构造函数的名字必须与类名同名,而不能由用户任意命名,以便编译系统能识别它并把它作为构造函数处理。
#include <iostream>  
using namespace std;  
class Time  
{public:  
   Time()  
   {hour=0;  
    minute=0;  
    sec=0;  
   }   
   void set_time();  
   void show_time();  
  private:  
   int hour;  
   int minute;  
   int sec;  
};  
  
void Time::set_time()  
{cin>>hour;  
cin>>minute;  
cin>>sec;  
}  
  
void Time::show_time()  
{  
  cout<<hour<<":"<<minute<<":"<<sec<<endl;  
}  
  
int main()  
{  
  Time t1;  
  t1.show_time();  
  Time t2;  
  t2.show_time();  
  return 0;  
}  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2