c++ - 如何编写类的私有属性?
问题描述
我正在研究一个包含另一个类的对象数组的类。但我不能这样做。这是我尝试使用的代码的简化版本。谁能帮我处理它?
为什么s
不能访问自己的数据成员?
任何人都可以展示如何处理这些场景的整个概念吗?
PS - 仅使用 FRIEND(类或函数)关键字。不允许继承。
class Student{
private:
int roll;
char name1[15];
};
class Subject {
private:
Student s[10];
};
int main()
{
Subject s1;
s1.s[1].roll = 5; // trying to set roll of 1st student
return 0;
}
我期待该值将被分配,但它有以下错误。为什么会这样?
错误:“学生主题::s [10]”是私人的 错误:“int Student::roll”是私有的 错误:“学生主题::s [10]”是私有的 错误:“int Student::roll”是私有的
解决方案
谁能帮助我如何使用它。为什么 s 不能访问它自己的数据成员。
它确实可以,但您看到的错误是 尝试访问private
.Subject
Student
main
main
无法访问或private
的成员。为了允许直接访问成员变量,您必须创建成员变量。另一种选择是添加与成员变量对应的访问器和修饰符函数。Subject
Student
main
public
public
private
推荐阅读
- sql - 从选择查询结果中选择唯一行
- reactjs - 我正在尝试从下拉列表中获取的值中设置其他参数。但不显示值。我怎样才能显示它们
- google-sheets - 谷歌表格:日期列的条件格式,其中包含“T”。例如:“2020-03-21T15:17:47.000Z”
- django - 如何在 VPC 外部配置 Lambda 函数 (django) 以访问 VPC 内部的 Amazon ElastiCache?
- javascript - 根据屏幕大小为单个网站创建多个主页
- javascript - React Js 处理列上的事件按钮以使用 onClick 获取行
- javascript - ng-submit 按钮单击未调用 AngularJS 函数
- kotlin - 我可以将 Dispatchers.Default 用于 CPU 密集型/密集型操作吗?
- php - 我想添加元框,但它没有显示
- sharepoint-2013 - 如何在 SharePoint 中添加文档库、公告应用程序