实训C++语言设计——定义一个类

news/2024/7/8 5:24:05

定义一个类,它包含私有数据成员姓名,地址,城市,邮政编码,公有函数成员:构造函数完成初始化,一个函数完成数据成员的输出,另外一个函数完成修改名字的功能。
算法:根据上述描述定义一个类,它包含上面的所有成员,然后就是完成功能,这可以通过库函数来完成拷贝功能,同理即可完成类的设计,具体如下。
代码:
#include<iostream.h>
#include<string.h>
class Employee
{
private:
 char name[20];
 char address[25];
 char city[30];
 int postcode;
public:
 Employee(char n[],char a[],char c[],int p)
 {
   postcode=p;
   strcpy(name,n);
   strcpy(address,a);
   strcpy(city,c);
 }
 void display()
    {
   cout<<"姓名:"<<name<<endl;
   cout<<"地址:"<<address<<endl;
   cout<<"城市:"<<city<<endl;
   cout<<"邮政编码:"<<postcode<<endl;
 }
 void change_name(char n[])
 {
  strcpy(name,n);
 }
};

void main()
{
 Employee employee("XX","XX","昆明",650200);
 employee.display();
 employee.change_name("tian meng xue");
 cout<<endl<<"修改名字后为:"<<endl;
 employee.display ();
}

6定义一个上述类的对象数组,然后通过循环来完成输出。
算法:这比较简单实现,只要在主函数中定义一个对象数组,然后进行初始化,最后通过循环来分别调用输出函数即可。
代码:
#include<iostream.h>
#include<string.h>
class Employee
{
private:
 char name[20];
 char address[25];
 char city[30];
 int postcode;
public:
 Employee(char n[],char a[],char c[],int p)
 {
   postcode=p;
   strcpy(name,n);
   strcpy(address,a);
   strcpy(city,c);
 }
 void display()
    {
   cout<<"姓名:"<<name<<endl;
   cout<<"地址:"<<address<<endl;
   cout<<"城市:"<<city<<endl;
   cout<<"邮政编码:"<<postcode<<endl;
 }
 void change_name(char n[])
 {
  strcpy(name,n);
 }
};
void main()
{
 int i;
 Employee emp[5]={Employee("XX","云南楚雄","南华",650200),
                  Employee("XX","云南大理","鹤庆",650201),
         Employee("XX","山东","烟台",134053),
         Employee("XX","台湾","高雄",650934),
         Employee("John","美国","纽约",398205),};
 for( i=0;i<5;i++)
 {
  emp[i].display ();
  cout<<endl;
 }
}
 


http://www.niftyadmin.cn/n/3242415.html

相关文章

实训C++语言设计——继承与派生

目的&#xff1a;1学习定义和使用类的继承关系&#xff0c;定义派生类。 2熟悉不同继承方式下对基类成员的访问控制。 3学习利用虚基类解决二义性问题。 内容&#xff08;算法、程序、步骤和方法&#xff09;&#xff1a;1&#xff0e;定义一个基类…

思想调试:为什么4核CPU上只有一个核在工作?

在一个内部的邮件列表里&#xff0c;有人问了这样一个问题&#xff1a;为什么我这4核CPU的电脑上&#xff0c;看起来只有一个核在工作&#xff0c;其他三个核好像都处于空闲状态&#xff1f;如果使用任务管理器设置每个进程的亲缘性(Affinity)设置为4核&#xff0c;则电脑应该会…

实训C++语言设计——STL链表、栈类、队列

目的&#xff1a;了解了链表的定义与实现,学会了其使用方法;了解了栈类的定义和实现,学会了其使用方法;了解了队列的定义和实现,学会其使用方式;了解了c标准模板库STL的使用方式. 内容 程序&#xff1a;//Lab9_2.cpp //linkedlist.h#include<malloc.h>#ifndef LI…

实训C++语言设计——数组元素的排序查找

掌握了对数组元素的排序的方法,学会了对数组元素的查找的方法,还学习到了C库实现查找和排序. 程序&#xff1a;//Lab10_2.cpp#include<iostream>#include<algorithm>using namespace std; void displayArray(int a[],int n){ cout<<endl<<"…

Visual Studio新功能:针对Linux平台的新版SSH终端

在最新版本的Visual Studio 2022 预览版里&#xff0c;用户可以通过一项新的集成化的终端来从Windows中访问目标开发平台。这次更新的终端还包含了一个交互式的SSH外壳。用户可以通过Visual Studio中的[视图 -> 终端]来打开它&#xff0c;如下图所示&#xff1a; 现在&#…

实训C++语言设计——文件和流

熟悉流类库中常用的类及其成员函数的用法,学习到了标准的输入输出及其格式的控制,学习到了文件的应用方式,有二进制文件和文本文件. 算法&#xff1a;无方法&#xff1a;无 程序&#xff1a;//Lab11_1.cpp#include<fstream>using namespace std;#define D(a) T<<…

实训C++语言设计——异常处理

目的&#xff1a;正确理解c的异常处理机制 学习异常处理的定义及执行过程 内容&#xff1a;定义一个异常类CException &#xff0c;有成员函数Reason()&#xff0c;用来显示异常的类型&#xff0c;在子函数中触发异常&#xff0c;在主程序中处理异常&#xff0c;…

Visual Studio2010 获取时间戳c++

最近再弄时间戳&#xff0c;发现python的java的时间戳都有&#xff0c;但是唯独c的没有 网上的看了也不是真正的时间戳&#xff0c;后来研究了代码找到了系统时间戳的地方 通过调试不断跳到所需要的地方之后&#xff08;下图&#xff09;&#xff0c;找到了正在获取时间戳的函…