定义一个Person类常对象,并通过此对象访问display(), change_addr等函数。
时间: 2024-02-23 07:03:01 浏览: 77
好的,根据您的要求,我来为您给出一个Person类的示例代码,以及如何定义Person类常对象并访问其成员函数的例子:
```c++
#include <iostream>
#include <string>
using namespace std;
class Person {
private:
string name;
int age;
string address;
public:
Person(string n, int a, string addr) : name(n), age(a), address(addr) {}
void display() const {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
cout << "Address: " << address << endl;
}
void change_addr(string new_addr) {
address = new_addr;
}
};
int main() {
const Person p("John", 25, "123 Main St."); // 定义Person类常对象p
p.display(); // 访问p的display()函数
p.change_addr("456 Oak Ave."); // 尝试修改p的address,但会编译错误,因为p是常对象
return 0;
}
```
在上面的代码中,我们定义了一个名为`Person`的类,它有三个私有的成员变量:`name`、`age`和`address`。我们还定义了两个公有的成员函数:`display()`和`change_addr()`,分别用于显示对象的信息和更改对象的地址。
在`main()`函数中,我们声明了一个常对象`p`,并将其初始化为一个名为`John`、年龄为25岁、地址为`123 Main St.`的人。我们可以通过调用`p`的`display()`函数来显示其信息,但是由于`p`是常对象,因此我们不能使用`p.change_addr()`来更改其地址,否则会产生编译错误。
阅读全文