访问私有变量
题目描述
补全代码,使输出符合要求。
关于输入
无
关于输出
见样例输出。
核心技巧
age
作为Person
类的私有变量,无法被普通函数访问,可以通过如下两种方式访问:- 声明某函数为
Person
类的友元函数;
- 声明某函数为
- 通过
Person
类内的成员函数访问。
- 通过
参考答案
#include <iostream>
using std::cout, std::endl;
class Person {
public:
Person(int x) : age{x} {}
private:
int age;
public:
friend void grow(Person* p, int num);
static void print(Person* p, int num) {
for (int i = 0; i < num; i++) {
cout << p[i].age << " ";
}
cout << endl;
}
};
void grow(Person* p, int num) {
for (int i = 0; i < num; i++) {
p[i].age++;
}
}
int main() {
Person people[3]{28, 45, 8};
Person::print(people, 3);
grow(people, 3);
Person::print(people, 3);
}