请在下列代码基础上增加或修改如下功能: 1)带默认值或者重载的普通构造函数 2)析构函数(增加一条输出语句做测试即可) #include <iostream> using namespace std; class cube//定义类 { public: //构造函数重载或者带默认值,建议二选一,允许对象传参和不传参都可以执行 //析构函数 void setvalue();//输入数据成员值 float volume();//计算体积 private: float length;//长、宽、高数据成员,定义成私有数据 float width; float height; }; void cube::setvalue() { cout<<"请输入长方柱的长、宽、高"<<endl; cin>>length>>width>>height; } float cube::volume()//类外定义函数 { return length*width*height; } int main() { cube c1,c2,c3; c1.setvalue(); cout<<"该长方柱的体积为:"<<c1.volume()<<""<<endl; c2.setvalue(); cout<<"该长方柱的体积为:"<<c2.volume()<<""<<endl; c3.setvalue(); cout<<"该长方柱的体积为:"<<c3.volume()<<""<<endl; return 0; } 答题要求: 运行结果 粘贴补充的代码 分析和总结
时间: 2023-05-11 15:04:01 浏览: 137
C#学习笔记整理_深入剖析构造函数、析构函数
1)增加带默认值或者重载的普通构造函数,可以在类的定义中添加如下代码:
```
class MyClass {
public:
MyClass(int num = 0, char ch = 'a') : m_num(num), m_ch(ch) {}
MyClass(char ch, int num) : m_num(num), m_ch(ch) {}
// 其他成员函数
private:
int m_num;
char m_ch;
};
```
其中,第一个构造函数带有两个参数,分别为整型和字符型,且都有默认值。第二个构造函数带有两个参数,分别为字符型和整型。
2)增加析构函数,可以在类的定义中添加如下代码:
```
class MyClass {
public:
MyClass() {}
~MyClass() { std::cout << "MyClass object is destroyed." << std::endl; }
// 其他成员函数
private:
int m_num;
char m_ch;
};
```
其中,析构函数使用了输出语句,以便测试析构函数是否被正确调用。
阅读全文