文章目录:
- 1、【100分】求一个面向对象的实际项目源代码,大家踊跃发言
- 2、c++课程设计商场招商管理系统源代码 使用面向对象的系统分析和设计,开发基于mfc对话框的c++语言应用软件。
- 3、求《深入浅出面向对象分析与设计》全文免费下载百度网盘资源,谢谢~
- 4、求经典的php面向对象编程的源码(100分)
【100分】求一个面向对象的实际项目源代码,大家踊跃发言
我给两个例子,不是复制粘贴的,自己曾经写过的
工资管理系统
//cpp
#includeiostream
#includestring
using namespace std;
class Employee
{//定义Employee类
protected:
string name,number;
public:
Employee(){};//构造函数
virtual void show()//显示姓名与编号的虚函数
{
cout"姓名:"nameendl;
cout"编号:"numberendl;
}
~Employee(){}//析构函数
};
class Manager:public Employee
{//定义Manager类,公有继承Employee类
private:
double salary;
public:
static int m;
Manager(){};//构造函数
void show()//显示经理详细情况函数
{
cout"姓名:"nameendl;
cout"编号:"numberendl;
cout"月工资:"salaryendl;
}
Manager operator=(const Manager );//声明重载赋值函数
void put(string na,string nu,double sa)//给成员赋值函数
{
name=na;
number=nu;
salary=sa;
}
};
Manager Manager::operator=(const Manager p)//定义重载赋值函数
{
name=p.name;
number=p.number;
salary=p.salary;
return *this;
}
class HourlyWorker:public Employee
{//定义HourlyWorker类,公有继承Employee类
private:
double hour,wage;
public:
static int n;
HourlyWorker(){};//构造函数
void show()//显示钟点工详细情况函数
{
cout"姓名:"nameendl;
cout"编号:"numberendl;
cout"小时工资:"wageendl;
cout"月工作小时:"hourendl;
}
HourlyWorker operator=(const HourlyWorker );//声明重载赋值函数
void put(string na,string nu,double ho,double wa)//给成员赋值函数
{
name=na;
number=nu;
hour=ho;
wage=wa;
}
};
HourlyWorker HourlyWorker::operator=(const HourlyWorker p)//定义重载赋值函数
{
name=p.name;
number=p.number;
hour=p.hour;
wage=p.wage;
return *this;
}
int HourlyWorker::n=0;
int Manager::m=0;
void main()
{
Manager x[5];//建立5个Manager类
HourlyWorker y[5];//建立5个HourlyWorker类
int i;
string name,number,sort;
double wage,hour,salary;
bool flags=true;
while(flags)
{
cout"[1]增加一个职工"endl;
cout"[2]显示数组中所有的职工以及他们的工资"endl;
cout"[3]显示数组中所有的经理以及他们的工资"endl;
cout"[4]显示数组中钟点工以及他们的工资"endl;
cout"[5]退出"endl;
int num;
cinnum;
switch(num)
{
case 1:
cout"输入职工信息:"endl"姓名:";
cinname;
cout"编号:";
cinnumber;
cout"类别:(输入“经理”或“钟点工”)";
cinsort;
if(sort=="经理")
{
cout"月工资:";
cinsalary;
Manager::m++;
x[Manager::m-1].put(name,number,salary);
cout"***增加一个职工***"endl;
x[Manager::m-1].show();
}
else if(sort=="钟点工")
{
cout"小时工资:";
cinwage;
cout"月工作小时数:";
cinhour;
HourlyWorker::n++;
y[HourlyWorker::n-1].put(name,number,hour,wage);
cout"***增加一个职工***"endl;
y[HourlyWorker::n-1].show();
}
else cout"输入有误,请重新输入!"endl;
break;
case 2:
cout"***职工工资表***"endl;
for(i=0;iManager::m;i++)
x[i].show();
for(i=0;iHourlyWorker::n;i++)
y[i].show();
break;
case 3:
cout"***经理工资表***"endl;
for(i=0;iManager::m;i++)
x[i].show();
break;
case 4:
cout"***钟点工工资表***"endl;
for(i=0;iHourlyWorker::n;i++)
y[i].show();
break;
case 5:flags=false;
exit(0);
}
}
}
面向对象实例6
#includeiostream.h
#includemath.h
class xy;
//**********************************************
//*********************ra类*********************
//**********************************************
class ra
{
public:
double r,a;
ra(double rr=20,double aa=10){r=rr;a=aa;}//ra构造函数
ra(const ra p){r=p.r;a=p.a;}//ra拷贝构造函数
friend istream operator(istream in,ra ob);//ra""
friend ostream operator(ostream out,ra ob);//ra""
operator double(){return r;}//double转换
operator xy();//xy类转换,函数体必须放到类外面
};
istream operator(istream in,ra ob)//ra""
{
cout"输入r、a的值:"endl;
cout"r:";
inob.r;
cout"a:";
inob.a;
return in;
}
ostream operator(ostream out,ra ob)//ra""
{
cout"r=";
outob.r;
cout",a=";
outob.a;
return out;
}
//**********************************************
//*********************xy类*********************
//**********************************************
class xy
{
public:
double x,y;
xy(double xx=20,double yy=10){x=xx;y=yy;}//xy构造函数
xy(const xy p){x=p.x;y=p.y;}//xy拷贝构造函数
friend istream operator(istream in,xy ob);//xy""
friend ostream operator(ostream out,xy ob);//xy""
operator int(){return int(x);}//int转换
operator double(){return x;}//double转换
operator ra()//ra类转换
{
ra ra3;
ra3.r=sqrt(x*x+y*y);
ra3.a=atan(y/x);
return ra3;
}
double friend operator +(ra ra1,double d1);//友元函数xy"+"
double operator +(double d1)//成员函数xy"+"
{
double d=x+d1+8;
return d;
}
double operator *(ra ra1)//成员函数xy"*"
{
double m=x*double(ra1);
return m;
}
};
istream operator(istream in,xy ob)//xy""
{
cout"输入x、y的值:"endl;
cout"x:";
inob.x;
cout"y:";
inob.y;
return in;
}
ostream operator(ostream out,xy ob)//xy""
{
cout"x=";
outob.x;
cout",y=";
outob.y;
return out;
}
double operator +(ra ra1,double d1)//友元函数xy"+"
{
double d=ra1.r+d1+5;
return d;
}
ra::operator xy()
{
xy xy3;
xy3.x=r*cos(a);
xy3.y=r*sin(a);
return xy3;
}
//**********************************************
//*********************主函数*******************
//**********************************************
void main()
{
ra ra_3=30;//系统类型转换为类类型
ra ra_31=ra(31);
xy xy_3=33;
xy xy_31=xy(31);
ra ra_4(40,44);//类类型转换为系统类型
double d1=ra_4;
double d11=double(ra_4);
xy xy_4(40.,48);
int i=xy_4;
double d2=xy_4;
xy xy_1(10,11);//xy与ra类的相互转换
ra ra_1;
ra_1=xy_1;
ra ra_2(20,22);
xy xy_2;
xy_2=ra_2;
xy xy_7;//系统类型与类类型的运算
ra ra_7(60,66);
xy_7=ra_7+3.4;
xy xy_71;
xy_71=double(ra_7)+3.4;
xy xy_9(90,93),xy_10;//系统类型与类类型混合运算
ra ra_9(92,95),ra_10(101,104);
xy_10=xy_9*ra_9-5.6*ra_10+3.3;
xy_10=double(xy_9)*double(ra_9)-5.6*double(ra_10)+3.3;
}
c++课程设计商场招商管理系统源代码 使用面向对象的系统分析和设计,开发基于mfc对话框的c++语言应用软件。
wewasdsjgklnasdm zsd;thdz
zfsegxfjt#include iostream
#include string
#include iomanip
#include stdio.h
using namespace std;
struct Sale
{
//数据域。
string m_code;
string m_name;
float m_price;
unsigned int m_quantity;
//指针域。
struct Sale* next;
};
typedef struct Sale Node;//取外别名,Node.
typedef Node* Link;//取个别名,Link.
//创建链表。
Link Create(Link Head)
{
//-----初始化头节点 Head-------
Head=(Link)new Node;//每次动态分配一个Node内存大小。
Head-m_code="";
Head-m_name="";
Head-m_price=0.0;
Head-m_quantity=0;
Head-next=NULL;
//-----
Link ptr;//定义一个用来运算的指针 ptr。
ptr=Head;//指到首节点。
Link DNode;//定义数据节点,用来存放数据。
char GoOn;
do
{
cout"商品信息录入! "endl;
string code,name;
float price;
unsigned int quantity;
cout"输入代码:"endl;
cincode;
cout"输入名称:"endl;
cinname;
cout"输入价格:"endl;
cinprice;
while(cin.fail())
{
cout"请输入正确的格式:"endl;
cin.clear();
fflush(stdin);
cinprice;
}
cout"输入数量:"endl;
cinquantity;
while(cin.fail())
{
cout"请输入正确的格式:"endl;
cin.clear();
fflush(stdin);
cinquantity;
}
//----数据域-----
DNode=(Link)new Node;//每次动态分配一个Node内存大小。
DNode-m_code=code;
DNode-m_name=name;
DNode-m_price=price;
DNode-m_quantity=quantity;
//----指针域-----
DNode-next=NULL;//作为尾节点加入。
ptr-next=DNode;//链入链表中。
ptr=DNode;//使新节点成为下一次的前驱。
cout"商品信息录入成功! 是否继续录入?(Y/N) ";
cinGoOn;
}while(GoOn=='Y'||GoOn=='y');
return Head;
}
//释放链表。
void Release(Link Head)
{
Link ptr;
while(Head!=NULL)
{
ptr=Head;
Head=Head-next;
delete ptr;
}
}
//查询。
Link Search(Link Head,string code)
{
Link ptr;
//Link front;
ptr=Head;//定义一个用于操作的指针ptr。
//ptr=fornt-next;
while(ptr!=NULL)
{
if(ptr-m_code==code)
return ptr;
else
ptr=ptr-next;
}
cout"无此商品!"endl;
return ptr;//此时的ptr为NULL了。
}
//打印链表。
void Display(Link Head)
{
Link ptr;
ptr=Head-next;//,不要头节点,只输出数据节点。
cout"==========================================================="endl;
cout"===============所有商品信息清单============================"endl;
cout"==========================================================="endl;
cout"货品代码=======货品名称======货品价格======货品数量===="endl;
while(ptr!=NULL)
{
coutsetw(15)leftptr-m_code
setw(15)leftptr-m_name
setw(15)leftptr-m_price
setw(15)leftptr-m_quantityendl;
ptr=ptr-next;
}
}
void Display_One(Link Head,string code,unsigned quantity)
{
Link ptr;
ptr=Search(Head,code);//,不要头节点,只输出数据节点。
cout"货品代码=======货品名称======货品价格======货品数量======小计(元)===="endl;
coutsetw(15)leftptr-m_code
setw(15)leftptr-m_name
setw(15)leftptr-m_price
setw(15)leftquantity
setw(15)leftquantity*ptr-m_priceendl;
}
//单个商品小结。
float CheckOut(Link Head,string code,unsigned quantity)
{
Link ptr;
float sum(0);
ptr=Search(Head,code);
sum=(ptr-m_price*quantity);
return sum;
}
//总结帐。
void Total(Link Head)
{
Link ptr;
ptr=Head;
float sum(0);
float factly;
char GoOn;
while(1)
{
cout"要结束商品买入请按\'N\',其它任意键表示继续买入! "endl;
cinGoOn;
if(GoOn=='N'||GoOn=='n')
break;
else
{
string code;
unsigned int quantity;
cout"输入要购买的商品代码:"endl;
cincode;
cout"输入要购买的数量:"endl;
cinquantity;
sum+=CheckOut(ptr,code,quantity);
cout"你购买的商品为:"endl;
Display_One(ptr,code,quantity);
}
}
cout"----------------------------------------------------"endl;
cout"你应该付 "sum"元!"endl;
cout"你实际付(元): ";
cinfactly;
cout"应该找回你 "factly-sum"元!"endl;//找零。
}
int main()
{
//---------菜单选项----------------
Link Head=NULL;
//Head=Create(Head);
int loop=1;
while(loop)
{
cout"***************************************************"endl;
cout"*---------------------菜单选项--------------------*"endl;
cout"*-------------------------------------------------*"endl;
cout"* 1.输入数据 2.买入商品 3.显示数据 0.退出系统 *"endl;
cout"***************************************************"endl;
int menu;
cinmenu;
if(cin.fail())
{
cout"请按菜单对应的数字选择合适的操作,谢谢合作!"endl;
cin.clear();
fflush(stdin);
cinmenu;
}
switch(menu)
{
case 0:
cout"已退出系统!"endl;
loop=0;
break;
case 1:
Head=Create(Head);
break;
case 2:
Total(Head);
break;
case 3:
Display(Head);
break;
}//switch(menu)
}//while(loop)
//Display(Head);
//Total(Head);
Release(Head);
return 0;
}
zdxgduifukjfdxg
求《深入浅出面向对象分析与设计》全文免费下载百度网盘资源,谢谢~
《深入浅出面向对象分析与设计》百度网盘pdf最新全集下载:
链接:
?pwd=dxqt 提取码: dxqt
简介:《深入浅出面向对象分析与设计》将告诉你如何分析、设计以及撰写真正面向对象的软件:容易重用、好维护、可扩展的软件;不再使你心碎的软件;让你增添新功能而不会破坏旧机制的软件。在本书中,你将学到:使用诸如封装(encapsulation)与委派(delegation)之类的OO原则建立灵活的应用程序;使用开闭原则(Open-Closed Principle)与单一职责原则(Single-Responsibilitv Principle)提升程序的重用性;学习如何将OO原则、设计模式及各种开发方法通通整合到OOAD项目的生命周期里;运用UML、用例及用例图来确保所有利害关系人都能清楚地进行沟通,协助你交付正确的软件,达到每个人的要求。
求经典的php面向对象编程的源码(100分)
你想学习的话,建议你去买本书吧。
《symfony权威指南》,这是个PHP的框架做大项目的。全是OOP编写的。
讲的很详细很系统,新手都可以看懂。比在网上学习轻量级的还好。
uantity; cout"输入代码:"endl; cincode; cout"输入名称:"endl; cinname; cout"输入价格:"endl; cinprice; while(cin.fail()) { cou
-----------------------------------------*"endl; cout"* 1.输入数据 2.买入商品 3.显示数据 0.退出系统 *"endl; cout"********************
); cout"你购买的商品为:"endl; Display_One(ptr,code,quantity); } } cout"----------------------------------------------------"endl; cout"你应该付 "sum