有没有办法避免跨类的不同构造函数进行代码复制?
class sample
{
int a, b?
char *c?
public:
sample(int q) :
a(0),
b(0),
c(new char [10 * q])
{
}
sample() :
a(0),
b(0),
c(new char [10])
{
}
}
Run Code Online (Sandbox Code Playgroud)
它被称为委托构造函数.在你的情况下,它看起来像这样:
sample(int q) : sample(q, 10 * q)
{
}
sample() : sample(0, 10)
{
}
sample(int q, int d) : a(q),
b(q),
c(new char [d])
{
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
162 次 |
| 最近记录: |