我有一个包含参数化构造函数的类,在创建对象时需要调用它。该类还包含一个私有副本构造函数,该构造函数限制为其创建对象。现在如何调用此类的参数构造函数。我认为我们可以创建指向该类的指针引用。但是如何使用引用调用参数构造函数?
我的程序:
#include<iostream>
#include<string>
using namespace std;
class ABase
{
protected:
ABase(string str) {
cout<<str<<endl;
cout<<"ABase Constructor"<<endl;
}
~ABase() {
cout<<"ABASE Destructor"<<endl;
}
private:
ABase( const ABase& );
const ABase& operator=( const ABase& );
};
int main( void )
{
ABase *ab;//---------How to call the parameter constructor using this??
return 0;
}
最佳答案
您需要的语法是ABase *ab = new ABase(foo);
,其中foo
是std::string
实例或std::string
可以进行构造的东西,例如const char[]
文字,例如。 "Hello"
。
不要忘记调用delete
释放内存。
(或者,如果不需要指针类型,则可以编写ABase ab(foo)
。)