C++定义一个学生类包含学生学号,姓名,成绩,课程信息,以及平均成绩

#include<iostream>
using namespace std;
class Stud{
private:
long Num;
char Name;
char KC;
float CJ;int I;
public:
Stud(long num,char name,char kc,float cj,int i)
{
Num=num;
Name=name;
KC=kc;
CJ=cj;I=i;
}
SetNum(long num)
{
int j;
for(j=1;j<=i;j++)
cin>>num;
}
SetName(char name)
{
int j;
for(j=1;j<i;j++)
gets(name);
}
SetKC(char kc)
{
int j;
for(j=1;j<i;j++)
gets(kc);
}
SetCj(float cj)
{
for(j=1;j<i;j++)
cin>>cj;
}
void show()
{
cout<<SetName() <<":"<<SetNum()<<":"<<SetKC<<":"<<SetCj<<endl;
}
};
void main()
{
Stud S1;
S1.show();
}一直没弄明白 类的赋值问题,怎么样让类中的值从键盘接受,而不是用构造函数直接初始化,例如课程信息 对应相应的成绩 用数组怎么保存?。。

第1个回答  2009-10-13
如果你没弄明白这个就要好好看看书了。

不懂类的话干吗非要用类呢?可以用结构体啊。

将数据成员private的目的就是保护数据不被调用,不能随便改写。本回答被提问者采纳
第2个回答  2009-10-13
在main函数中,通过new,分配内存空间,然后调用构造函数进行赋值,比如你的这个函数:Stud(long num,char name,char kc,float cj,int i)
直接输入信息就可以了。
第3个回答  2009-10-13
#include <iostream>
using namespace std;

class Stud{
private:
long Num;
char *Name;
char KC;
float CJ;
int I;
public:
Stud(){}
Stud(long num,char *name,char kc,float cj,int i);
void SetNum(long num);
void SetName(char *name);
void SetKC(char kc);
void SetCj(float cj);
void SetI(int i);
void show();
};
Stud::Stud(long num,char *name,char kc,float cj,int i)
{
Num=num;
Name=name;
KC=kc;
CJ=cj;
I=i;
}
void Stud::SetNum(long num)
{
Num=num;
}
void Stud::SetName(char *name)
{
Name=name;
}
void Stud::SetKC(char kc)
{
KC=kc;
}
void Stud::SetCj(float cj)
{
CJ=cj;
}
void Stud::SetI(int i)
{
I=i;
}
void Stud::show()
{
cout<<Name <<":"<<Num<<":"<<KC<<":"<<CJ<<":"<<I<<endl;
}

void main()
{
Stud S1;
S1.SetName("abc");
S1.SetNum(100000000);
S1.SetKC('a');
S1.SetCj(1.05f);
S1.SetI(6);
S1.show();
}
相似回答