类定时的时候,怎么使用带参数的构造函数呢
类定时的时候,如何使用带参数的构造函数呢?
class
{
public:
TBuffer h(20);//这里报错
}
类定义的时候,如果成员变量构造函数有参数,按上面的写法,会出错,有什么办法吗?
------解决思路----------------------
不太明白楼主的意思,楼主的意思是不是说:class A含TBuffer类型的数据成员,而该数据类型没有默认构造函数,只有含一个int的构造函数,因而不知道怎样在类中初始化?
如果是这样的话,使用类的构造函数初始化:
class A
{
pubilc:
A():h(20){}
private:
……
};
------解决思路----------------------
你根本没有搞懂成员变量的声明和初始化是二个不同的地方。
class T
{
public:
TBuffer h;//声明TBuffer 变量
T():h(TBuffer (20)){}//在这里,这个变量会在构造 T时同时被调用TBuffer的带参构造函数完成初始化
}
class
{
public:
TBuffer h(20);//这里报错
}
类定义的时候,如果成员变量构造函数有参数,按上面的写法,会出错,有什么办法吗?
------解决思路----------------------
不太明白楼主的意思,楼主的意思是不是说:class A含TBuffer类型的数据成员,而该数据类型没有默认构造函数,只有含一个int的构造函数,因而不知道怎样在类中初始化?
如果是这样的话,使用类的构造函数初始化:
class A
{
pubilc:
A():h(20){}
private:
……
};
------解决思路----------------------
你根本没有搞懂成员变量的声明和初始化是二个不同的地方。
class T
{
public:
TBuffer h;//声明TBuffer 变量
T():h(TBuffer (20)){}//在这里,这个变量会在构造 T时同时被调用TBuffer的带参构造函数完成初始化
}