#include <iostream> using namespace std; class MyClass { public: MyClass(); MyClass(int): MyClass(); void Display( ); Protected: int number; }; MyClass::MyClass() { cout<<"Constructing normally\n"; } Myclass::MyClass(int m) { nunber = m; cout<<"Constructing with a number : " << nunber << endl; } void MyClass::Display() { cout<<"Display a number: " << number << endl; } MyClass:: MyClass() { cout <<"Destructing\n"; } int main() { MyClass obj1; MyClass obj2(20); obj1.Display(); obj2.Display(); }
时间: 2023-06-24 14:06:08 浏览: 125
使用include <iostream>时一定要加using namespace std
这段代码有一些语法错误,我稍作修改:
```
#include <iostream>
using namespace std;
class MyClass {
public:
MyClass();
MyClass(int);
void Display();
protected:
int number;
};
MyClass::MyClass() {
cout << "Constructing normally\n";
}
MyClass::MyClass(int m) {
number = m;
cout << "Constructing with a number: " << number << endl;
}
void MyClass::Display() {
cout << "Display a number: " << number << endl;
}
MyClass:: ~MyClass() {
cout << "Destructing\n";
}
int main() {
MyClass obj1;
MyClass obj2(20);
obj1.Display();
obj2.Display();
return 0;
}
```
这是一个简单的面向对象编程例子,其中定义了一个 `MyClass` 类,包含了一个默认构造函数、一个带参数的构造函数、一个成员变量 `number` 和一个成员函数 `Display()`。在 `main()` 函数中,分别创建了两个对象 `obj1` 和 `obj2`,并调用它们的 `Display()` 函数。同时,在程序结束时,会自动调用析构函数 `~MyClass()`。
输出如下:
```
Constructing normally
Constructing with a number: 20
Display a number: 0
Display a number: 20
Destructing
Destructing
```
可以看出,构造函数在对象创建时被调用,析构函数在对象销毁时被调用,而 `Display()` 函数则用于显示成员变量的值。
阅读全文