我已经搜索了许多网站并看到了许多程序,但是找不到单个程序来完成。这是从教程出发的一个示例
16580522
我自己尝试过,但是我没有用,可能是因为我编写的代码不是很好,但是我想知道是否有解构参数化构造函数的选项,并且声明void作为参数(例如:#include <iostream>
using namespace std;
class Line {
public:
void setLength( double len );
~setLength(); <----- An error
double getLength( void );
Line(); // This is the constructor declaration
~Line(); // This is the destructor: declaration
private:
double length;
};
// Member functions definitions including constructor
Line::Line(void) {
cout << "Object is being created" << endl;
}
Line::~Line(void) {
cout << "Object is being deleted" << endl;
}
void Line::setLength( double len ) {
length = len;
}
Line::~setLenght() //I tried void Line::~setLength too
{
cout<<"The function is deleted:"
}
double Line::getLength( void ) {
return length;
}
// Main function for the program
int main() {
Line line;
// set line length
line.setLength(6.0);
cout << "Length of line : " << line.getLength() <<endl;
return 0;
}
)使其成为参数化的构造函数。
答案 0 :(得分:2)
有几点可以减轻您的困惑:
setLength
不是构造函数,它只是类Line
的方法。~ClassName
。void
作为单个参数声明函数是一种不带参数声明函数的传统C方式,在C ++中实际上并不需要。同样,它并不是真正针对析构函数的。