设计一个Person 类,其成员变量有:姓名(name)、性别(gender)、年龄(age);再设计一个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,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
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;
}
希望对你有帮助!!!我亲自打的代码。。呵呵
#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
{
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;
}
}