C++新人,求帮助找到这个小代码的问题。谢谢

嘚瑟的小孩 发布于 2016/11/25 22:30
阅读 118
收藏 0

【Gopher China万字分享】华为云的Go语言云原生实战经验!>>>


大神帮助!!谢谢 


#include<string>
#include<iostream>
using namespace std;
class stu{
	public:
		void init(string na,string nu,string se,int y);
		void show();
		void show_count();
			
	private:
		string name;
		string number;
		string sex;
		int age;
		static int count;//静态数据成员,用于统计累加学生人数
		
};

void stu::init(string na,string nu,string se,int y)//定义构造函数
{
	name=na;
	number=nu;
	sex=se;
	age=y;
	++count;//累加学生人数;
}
void stu::show()//显示函数
{
	cout<<"name:"<<name<<"\t\t";
	cout<<"number:"<<number<<endl;
	cout<<"sex:"<<sex<<"\t\t\t";
	cout<<"age:"<<age<<endl;
}
void stu::show_count()
{
	cout<<"\nThe number of students is "<<count<<endl;
}
int stu::count=0;//静态数据成员的初始化
int main()
{
	int age1;
	string name1,sex1,number1;
	stu *stu3;
	stu3=new stu;
	int i=0;
	char flag;
	cout<<"Please Enter Students Information:"<<endl;
	while(1)
	{
		cout<<"The "<<i+1<<" Student Information:"<<endl;
		cout<<"name\tnumber\tsex\tage"<<endl;
		cin>>name1;
		cin>>number1;
		cin>>sex1;
		cin>>age1;
		stu3[i].init(name1,number1,sex1,age1);
		cout<<"Do you want to continue【Y/N】"<<endl;
		cin>>flag;
		if(flag=='n'||flag=='N')
			break;
		i++;
	}
	cout<<"\n\t\tStudents Information"<<endl;
	stu3[i-1].show_count();
	for(int j=0;j<=i;j++)
	{
	cout<<"\n\tThe  "<<j+1<<"  Student Information"<<endl;
	stu3[j].show();
	}
	delete stu3;
	return 0;
}




加载中
0
公孙二狗
公孙二狗
stu3=new stu; // 只分配了一个空间,但是下面你是当数组用的,应该用  stu3=new stu[100]; 具体大小需要根据实际情况确定,也有可能 100 不够呢
嘚瑟的小孩
嘚瑟的小孩
可以了,谢谢!
0
嘚瑟的小孩
嘚瑟的小孩
这个代码在编译的时候没问题,,可是运行到一半的时候就会出现错误。。
0
GestureWei
GestureWei
数组越界访问,stu3
0
codego123
codego123
你这代码能编译过么?
嘚瑟的小孩
嘚瑟的小孩
编译过的
返回顶部
顶部