A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李烨 中级黑马   /  2014-4-14 23:48  /  908 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看到视频中讲的构造方法只是重写了init()方法,还有什么可以称之谓构造方法,我知道的是构造方法是为一些值初始化的时候赋上固定值,可以这么理解么,求详解构造方法!

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

2 个回复

倒序浏览
重写构造方法的目的:为了让对象创建出来,成员变量应付有一些固定的值
  重写构造方法的注意点
  1.先调用父类的构造方法 [super init]
  2.再进行子类内部成员变量的初始化  
- (id)initWithAge:(int)age
{
        //1.一定要调回super的init方法:初始化父类中声明的一些成
        员变量和其他属性
        if(self = [super init])
        {
               _age = age;
        }

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

评分

参与人数 1黑马币 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
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;  
}  

评分

参与人数 1黑马币 +2 收起 理由
jing迪 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马