c++写入访问权限冲突是怎么了?
我想写一个关于学生信息的程序,封闭一个学生类,可是当我运行的时候,刚一录入学生姓名,按了回车后就程序已停止运行,调试 的时候与写入访问权限冲突了。这是怎么回事,研究了好几天,毫无头绪。。。
我用的是vs2015
#include<iostream>
using namespace std;
class Cstudent
{
private:
char *name;
char *num;
int age;
int score[5];
static int b;
public:
Cstudent()
{
char a[20];
char b[12];
name=a;
num=b;
name = "XXX";
num = "XX";
age = 20;score[1] = 60;score[2] = 60;score[3] = 60;score[4] = 60;
cout << "Constructed!" << '\n';
}
~Cstudent()
{
delete name;
delete num;
}
void pri()
{
cout << ':' << name << ' ' << num << ' ' << age << ' ';
for (int i = 0;i<5;i++) cout << score[i] << ' ';
cout << '\n';
}
void sca()
{
cin >> name >> num >> age;
for (int i = 0;i<5;i++) cin >> score[i];
}
int warning()
{
int a = 0;
for (int i = 0;i<5;i++)
if (score[i]<60) a++;
if (a >= 3)
{
cout << "warning";
b++;
return 1;
}
}
static int inspect()
{
if (b == 0)
return 1;
else return 0;
}
};
int Cstudent::b = 0;
int main()
{
int n, i;
cin >> n;
Cstudent * Class = new Cstudent[n];;
for (i = 0;i<n;i++)
{
Class[i].sca();
cout << '\n';
}
for (i = 0;i<n;i++)
{
if (Class[i].warning() == 1) Class[i].pri();
}
if (Cstudent::inspect() == 1) cout << "Good";
delete Class;
return 0;
}
我用的是vs2015#include<iostream>
using namespace std;
class Cstudent
{
private:
char *name;
char *num;
int age;
int score[5];
static int b;
public:
Cstudent()
{
char a[20];
char b[12];
name=a;
num=b;
name = "XXX";
num = "XX";
age = 20;score[1] = 60;score[2] = 60;score[3] = 60;score[4] = 60;
cout << "Constructed!" << '\n';
}
~Cstudent()
{
delete name;
delete num;
}
void pri()
{
cout << ':' << name << ' ' << num << ' ' << age << ' ';
for (int i = 0;i<5;i++) cout << score[i] << ' ';
cout << '\n';
}
void sca()
{
cin >> name >> num >> age;
for (int i = 0;i<5;i++) cin >> score[i];
}
int warning()
{
int a = 0;
for (int i = 0;i<5;i++)
if (score[i]<60) a++;
if (a >= 3)
{
cout << "warning";
b++;
return 1;
}
}
static int inspect()
{
if (b == 0)
return 1;
else return 0;
}
};
int Cstudent::b = 0;
int main()
{
int n, i;
cin >> n;
Cstudent * Class = new Cstudent[n];;
for (i = 0;i<n;i++)
{
Class[i].sca();
cout << '\n';
}
for (i = 0;i<n;i++)
{
if (Class[i].warning() == 1) Class[i].pri();
}
if (Cstudent::inspect() == 1) cout << "Good";
delete Class;
return 0;
}
...全文
相关推荐
C++随手笔记C++随手笔记
- C++中使用`std::setprecision`函数设置浮点数的精度。#### 17. 条件表达式- C++支持三元条件运算符,如`(a < b ? a : b) < c ? b : c`。
C++访问权限冲突解析[项目源码]
在C++编程语言的开发过程中,经常会出现读取访问权限冲突的异常情况。这种情况主要有两个类型:一种是数组访问越界,另一种是空指针异常。
C++类继承,访问权限,有源码参考
下面,我们将深入探讨C++类继承的相关知识点。1. **单一继承与多重继承**: - **单一继承**:一个子类只能继承一个基类,这是C++最初支持的继承方式,有助于避免类的混乱和冲突。
cpp4arduino:cpp4arduino.com的样本文件
cpp4arduino是一个专门为Arduino平台设计的项目,旨在帮助开发者更好地利用C++进行编程,从而提升代码的可读性、可维护性和效率。
cpp代码-C++基础
`class`关键字用来声明类,`public`、`private`和`protected`关键字用来控制成员的访问权限。8.


