c++ - 如何修复私有静态成员中的错误?
问题描述
为什么我被称为私有?因为我是静态成员,那么它一定不是第 19 行的错误
#include<iostream>
using namespace std;
class myClass{
static int i;
public:
void seti(int a)
{
i=a;
}
int geti()
{
return i;
}
};
int myClass::i;
int main()
{
myClass ob1,ob2;
cout<<myClass::i<<endl;
ob1.seti(200);
cout<<ob1.geti()<<endl;
cout<<ob2.geti()<<endl;
}
解决方案
这里的问题是默认情况下a 的成员属性是class
。private
这意味着它i
是私有的,您无法从课堂外访问它。
一种解决方案是声明i
为公共成员。
class myClass{
public:
static int i;
void seti(int a)
{
i=a;
}
int geti()
{
return i;
}
};
PS:a的成员struct
默认是public
推荐阅读
- regex - vim中行首的匹配模式
- database - 一种检查oracle完成sql的方法
- java - 如何从图库中获取多个选定图像的路径
- mono - Mono_conc_hashtable_lookup 中的单声道 100% CPU 旋转
- apache-spark - PySpark:用通过列的空间循环替换标点符号
- excel - Excel中的转置+求和字符串
- java - NestedScrollView 不会滚动所有的孩子
- r - ggplot x 轴 break.vec 开始和结束日期
- spring-boot - 如何使用 Bean 在 Spring Boot 2 中连接到 PostgreSQL
- reactjs - 如何在使用酶的高阶组件测试中传递 React 上下文