【发布时间】:2021-12-08 15:51:35
【问题描述】:
所以我正在尝试学习如何使用朋友类更改私有类成员的值,但是朋友类无法更改主类的值,这是我所做的代码,我是新人编码,请帮帮我:)
#include <iostream>
using namespace std;
class A {
private:
int marks;
public:
show_marks()
{
cout <<marks;
}
set_marks( int num )
{
marks =num;
}
friend class B;
};
class B{
public:
show_A_marks(A teacher, int num){
teacher.marks= num;
}
};
int main(){
A teacher;
teacher.set_marks(10);
teacher.show_marks();
cout <<endl;
B student;
student.show_A_marks(teacher,20);
teacher.show_marks();
}
-这应该打印: 10 20 但正在打印: 10 10
【问题讨论】:
-
教师参数是按值传递的,而不是按引用传递的。正在修改参数副本,但不是原始参数。
标签: c++ class friend-class