1.结构体
结构体语法与C语言基本一致
老师的代码
#include <iostream>
#include <string.h>
using namespace std;
struct STUDENT
{
int StudNo;
char StudName[33];
};
void DisplayStudent(STUDENT *pStud)
{
cout<<"Student No : "<<pStud->StudNo<<endl;
cout<<"Student Name: "<<pStud->StudName<<endl;
cout<<"----------"<<endl;
}
int main()
{
STUDENT Stud1,Stud2,Stud3;
Stud1.StudNo=1;
strcpy(Stud1.StudName,"Zhang San");
Stud2.StudNo=2;
strcpy(Stud2.StudName,"Li Si");
Stud3.StudNo=3;
strcpy(Stud3.StudName,"Wang Wu");
DisplayStudent(&Stud1);
DisplayStudent(&Stud2);
DisplayStudent(&Stud3);
return 0;
}
#include <iostream>
#include <string.h>
using namespace std;
struct STUDENT
{
int StudNo;
char StudName[33];
void Display()
{
cout<<"Student No : "<<StudNo<<endl;
cout<<"Student Name: "<<StudName<<endl;
cout<<"----------"<<endl;
}
};
int main()
{
STUDENT Stud1,Stud2,Stud3;
Stud1.StudNo=1;
strcpy(Stud1.StudName,"Zhang San");
Stud2.StudNo=2;
strcpy(Stud2.StudName,"Li Si");
Stud3.StudNo=3;
strcpy(Stud3.StudName,"Wang Wu");
Stud1.Display();//调用Display()函数
Stud2.Display();
Stud3.Display();
return 0;
}
2.定义一个类来保存学生信息
public和private:
(1、public修饰的成员变量
在程序的任何地方都可以被访问,就是公共变量的意思,不需要通过成员函数就可以由类的实例直接访问
(2、private修饰的成员变量
只有类内可直接访问,私有的,类的实例要通过成员函数才可以访问,这个可以起到信息隐藏
老师的代码:
1.
#include <iostream>
#include <string.h>
using namespace std;
class CStudent
{
public:
int StudNo;
char StudName[33];
void Display();
};
void CStudent::Display()
{
cout<<"Student No : "<<StudNo<<endl;
cout<<"Student Name: "<<StudName<<endl;
cout<<"----------"<<endl;
}
int main()
{
CStudent Stud1,Stud2,Stud3;
Stud1.StudNo=1;
strcpy(Stud1.StudName,"Zhang San");
Stud2.StudNo=2;
strcpy(Stud2.StudName,"Li Si");
Stud3.StudNo=3;
strcpy(Stud3.StudName,"Wang Wu");
Stud1.Display();
Stud2.Display();
Stud3.Display();
return 0;
}
2.利用数组
#include <iostream>
#include <string>
using namespace std;
class CStudent
{
public:
int StudNo;
string StudName;
void Display();
};
void CStudent::Display()
{
cout<<"Student No : "<<StudNo<<endl;
cout<<"Student Name: "<<StudName<<endl;
cout<<"----------"<<endl;
}
int main()
{
CStudent Stud[3];
CStudent *pStud;
int i;
Stud[0].StudNo=1;
Stud[0].StudName="Zhang San";
Stud[1].StudNo=2;
Stud[1].StudName="Li Si";
Stud[2].StudNo=3;
Stud[2].StudName="Wang Wu";
for(i=0;i<3;i++)
{
pStud=&Stud[i];
pStud->Display();
}
return 0;
}
3.完整的员工信息存储系统
老师的代码:
#include <iostream>
#include <string>
using namespace std;
class CEmployee
{
private:
int ID;
string Name;
string Sex;
int Age;
double Salary;
public:
CEmployee();
~CEmployee();
int GetID();
void SetID(int ID);
string GetName();
void SetName(string Name);
string GetSex();
void SetSex(string Sex);
int GetAge();
void SetAge(int Age);
double GetSalary();
void SetSalary(double Salary);
void Display();
};
CEmployee::CEmployee()
{
cout<<"Constructor CEmployee::CEmployee()!"<<endl;
ID=0;
Name="No Name";
Sex="Female";
Age=0;
Salary=0.0;
}
CEmployee::~CEmployee()
{
cout<<"Destructor CEmployee::~CEmployee()!"<<endl;
}
int CEmployee::GetID()
{
return ID;
}
void CEmployee::SetID(int ID)
{
if(ID>0)
{
this->ID=ID;
}
}
string CEmployee::GetName()
{
return Name;
}
void CEmployee::SetName(string Name)
{
this->Name=Name;
}
string CEmployee::GetSex()
{
return Sex;
}
void CEmployee::SetSex(string Sex)
{
if((Sex=="Female")||(Sex=="Male"))
{
this->Sex=Sex;
}
}
int CEmployee::GetAge()
{
return Age;
}
void CEmployee::SetAge(int Age)
{
if((Age>=18)&&(Age<=60))
{
this->Age=Age;
}
}
double CEmployee::GetSalary()
{
return Salary;
}
void CEmployee::SetSalary(double Salary)
{
if(Salary>0.0)
{
this->Salary=Salary;
}
}
void CEmployee::Display()
{
cout<<"--------------------"<<endl;
cout<<"Employee ID: "<<ID<<endl;
cout<<"Name : "<<Name<<endl;
cout<<"Sex : "<<Sex<<endl;
cout<<"Age : "<<Age<<endl;
cout<<"Salary : "<<Salary<<endl;
cout<<"===================="<<endl;
}
int main()
{
CEmployee Employees[4];
Employees[0].SetID(1);
Employees[0].SetName("Zhang San");
Employees[0].SetSex("Male");
Employees[0].SetAge(25);
Employees[0].SetSalary(5000.0);
Employees[1].SetID(2);
Employees[1].SetName("Li Si");
Employees[1].SetSex("Female");
Employees[1].SetAge(25);
Employees[1].SetSalary(5000.0);
Employees[2].SetID(3);
Employees[2].SetName("Wang Wu");
Employees[2].SetSex("Male");
Employees[2].SetAge(30);
Employees[2].SetSalary(8000.0);
for(int i=0;i<4;i++)
{
Employees[i].Display();
}
cout<<"--------------------"<<endl;
for(int j=0;j<4;j++)
{
if(Employees[j].GetID()!=0)
{
cout<<"Employee ID: "<<Employees[j].GetID()<<'\t';
cout<<"Name: "<<Employees[j].GetName()<<'\t';
cout<<"Sex: "<<Employees[j].GetSex()<<'\t';
cout<<"Age: "<<Employees[j].GetAge()<<'\t';
cout<<"Salary: "<<Employees[j].GetSalary()<<endl;
}
else
{
cout<<"Invalid Employee Information!"<<endl;
}
cout<<"--------------------"<<endl;
}
return 0;
}