怎么在main里用私有成员
时间: 2024-05-13 07:19:55 浏览: 66
在C++中,私有成员只能在类的内部被访问,无法在类的外部直接访问。如果想要在类的外部访问私有成员,可以使用公有成员函数或友元函数来实现。
假设我们有一个名为Person的类,其中有一个私有成员变量age,我们可以在类的公有成员函数中访问它:
```c++
class Person {
private:
int age;
public:
void setAge(int a) {
age = a;
}
int getAge() {
return age;
}
};
int main() {
Person p;
p.setAge(18); // 调用公有成员函数设置私有成员变量age的值
int age = p.getAge(); // 调用公有成员函数获取私有成员变量age的值
return 0;
}
```
在这个例子中,我们通过调用setAge函数来设置私有成员变量age的值,并通过调用getAge函数来获取它的值。这两个函数都是类的公有成员函数,可以在类的外部被调用。
当然,还有一种方法可以在类的外部访问私有成员变量,就是使用友元函数。友元函数是在类中声明的非成员函数,可以访问类的私有成员变量。具体使用方法可以参考下面的代码:
```c++
class Person {
private:
int age;
friend void setAge(Person& p, int a); // 声明友元函数
public:
int getAge() {
return age;
}
};
void setAge(Person& p, int a) {
p.age = a; // 在友元函数中访问私有成员变量age
}
int main() {
Person p;
setAge(p, 18); // 调用友元函数设置私有成员变量age的值
int age = p.getAge(); // 调用公有成员函数获取私有成员变量age的值
return 0;
}
```
在这个例子中,我们声明了一个名为setAge的友元函数,它可以访问类的私有成员变量age。在main函数中,我们通过调用setAge函数来设置私有成员变量age的值,并通过调用getAge函数来获取它的值。