设计一个Person 类,其成员变量有:姓名(name)、性别(gender)、年龄(age);再设计一个Student类

其成员变量有:学号(id)、班名(cname)、成绩(score),类Student中要有一个方法 display(),用来显示一个学生的信息。编写一个测试程序,创建一个Student类的对象,要求name和id 是自己的姓名和学号,输出学生的各种信息,学生的基本信息在类Student的带参数的构造方法中设定。

main方法里的代码: Student stu = new Student(18,"张三");

//Person类

public class Person

public int Id { get; set; }

public string cname { get; set; }

public int score { get; set; }

//显示信息方法

public string display(Student stu)

//构造函数

public Student(int id, string name)

this.Id = id;

this.Name = name;

简介

字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-14
代码如下:
main 方法里的代码: Student stu = new Student(18,"张三");
//调用显示信息的方法
string mess= stu.display(stu);
Console.WriteLine(mess);
新建类的代码:
//Person类
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
}
//Student类
public class Student : Person
{
public int Id { get; set; }
public string cname { get; set; }
public int score { get; set; }
//显示信息方法
public string display(Student stu)
{
string message = "大家好,我是" + stu.Name;
return message;
}
//构造函数
public Student(int id, string name)
{
this.Id = id;
this.Name = name;
}
希望对你有帮助!!!我亲自打的代码。。呵呵本回答被网友采纳
第2个回答  2019-05-30
#include<iostream>
#include<cstring>
using namespace std;
//定义Person类
class Person{             
public:
friend class Student;
private:
char name[10];
char gender;
int age;
};
//定义Student类
class Student{
public:
//因为Student类中的函数要用到Person中的数据
//所以先在Student类中定义一个Person对象
Person person;  
Student(char myname[10],int myage,char mygender,char myid[10],char mycname[10],int myscore)
{
//将学生姓名、年龄、性别赋值给Person对象中的成员数据
strcpy(person.name,myname);  
person.age=myage;
person.gender=mygender;
//剩下的赋值给Student类中的成员数据
strcpy(id,myid);
strcpy(cname,mycname);
score=myscore;
};
//定义display()函数,输出学生信息
void display(){
//这里注意要加"person."表明是访问另一个类中的成员
cout<<"my name is" <<person.name<<endl;
if(person.gender=='B')
cout<<"I am a boy"<<endl;
else 
cout<<"I am a girl"<<endl;
cout<<"my age is "<<person.age<<endl;
cout<<"my id is "<<this->id<<endl;
cout<<"my class name is"<<this->cname<<endl;
cout<<"my score is "<<this->score<<endl;
}
private:
char id[10];
char cname[10];
int score;
};

//测试部分
int main(void)
{
Student A("LiMing",19,'B',"10123","1701",422);
A.display();
return 0;
}

如果不想用数组要用字符串指针的话,记得在构造函数那里给成员数据初始化->new char()分配新的内存空间,不然编译器自动使成员数据和对应参数指向同一地址,最后释放内存会释放两次,编译看不出来但是运行错误!我之前就忘记给指针初始化,然后卡了半天orz

第3个回答  2011-05-24
class Person
{
public string name;
public string gender;
public int age;
}
class Student:Person
{
public int id;
public string cname;
public doule score;
public viod disploy()
{
messageBox.show(name+gender+age+id+cname+score)
}
public Student(sting n,string g,int a,int i, string c,doule s)
{
this.name=n;
this.gender=g;
this.age=a;
this.id=i;
this.cname=c;
this.score=s;
}
}
第4个回答  2011-05-24
别人的只能参考的,要自己好好学 每个人的思路都是不一样的。只有自己学会了才属于自己的,得鱼不如要渔...本回答被提问者采纳
相似回答