作者WPC001 ()
站内Programming
标题Re: [请益] C++中contructor 的overloading
时间Thu Jul 19 22:25:38 2007
※ 引述《sorryChen (陈扬和)》之铭言:
: 以前用overloading来产生同名不同参数的function
: 常常这样写 f(int a){....} f(int a, int b){ .... f(a){...}
: 就是在新多增加参数的函数中呼叫之前定义参数少的函数
: (这是假设新定义多参数的函数 只是比原定义的函数多做一些事情
: 原来的事情还是要做)
: 但是碰到要新增加参数的constructor要overloading的时候
: constructor(int a){...}
: constructor(int a, int b)
: {
: this->b = b;
: constructor(a);
: }
: 这样编译会过耶 可是不是如我预期的 是否会是new了两个物件阿..
: 并不是像原来我想的单纯坐完多做的事情在做原来要做的..
: constructor好像不能随便自己call自己
: 有人可以解说一下吗
把共同初始化放在一个private method中, 如prv_init()
然後不同的constructor都必须要先呼叫这个方法
为了避免被使用者乱呼叫, 所以记得要用private来把它包起来
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.62.156.165