回 帖 发 新 帖 刷新版面

主题:类中,怎么通过成员函数对类中的数组进行付值?

比如

class student{
private:
    char name[20];
    char kecheng[10][10];
    int  xuehao;
    int chengji[3];
public:
    void PrintName(char *);
    void PrintKecheng(char **);
    void PrintXuehao(int );
    void PrintChengji(int *);
           double average();
};

void student::PrintName(char *s){
    int i;
    for(i=0;i<20;i){
       name[i]=s[i];
    }
      for(i=0;i<20;i++)
    cout<<name[i]<<endl;
}

void main(){
    student k;
    char n[20];
    cout<<"Geben Sie den Name ein"<<endl;
    cin>>n;
    k.PrintName(n);
    }
    
    怎么就不对呢?付不了值进去,我该怎么去付值操作?

回复列表 (共2个回复)

沙发

void student::PrintName(char *s){
    int i;
    for(i=0;i<20;i){//这个应该是i++
       name[i]=s[i];
    }
      for(i=0;i<20;i++)
    cout<<name[i]<<endl;
}

板凳

谢谢
我已经知道该怎么去写了

和大家分享一下
void student::PrintName(char *s){
   int length;
   length=strlen(s);
   length=(strlen(s)<20?strlen(s):20);
   strncpy(name,s,length);

  cout<<name<<endl;
    
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册