网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.C++中的虚函数(virtual function).
.C/C++编程新手错误语录.
.用Socket实现点对点的文件传输.
.用VC++实现http代理.
.C语言高效编程的的四招技巧.
.C程序开发经典实例之8.
.显示消息框的程序.
.1999年4月基础知识知识和C语言程.
.扑克牌的发牌程序(用伪随机数实.
.看我不动也会张的大嘴巴.
.关于程序撰写风格.
.Windows下的函数hook技术.
.保持C/C++程序代码的可伸缩性.
.Boost源码剖析:C++泛型函数指针.
.用C++访问SQL Server 2000.
.C程序设计语言概论(2).
.将程序从托管扩展 C++ 迁移到 C+.
.求N阶行列式的值.
.线性表的顺序存储实验.
.将小写数字金额转成大写金额.

C++习题与解析(引用-02)

发表日期:2008-3-8



05.设计一个类Sample,实现两个复数的乘法运算。
解:
Sample类包括复数的实部和虚部,以及实现复数相乘的成员函数mult()和输出复数的成员函数disp()。
本题的程序如下:
#include<iostream.h>
class Sample
{
float a; // 实部
float b; // 虚部
public:
Sample(){}
Sample(float x,float y){a=x;b=y;}
void mult(Sample &s) // 对象引用作为参数
{
if(&s==this) // 不能自己相乘
cout<<"自己不能相乘"<<endl;
else
{
float x=a*s.a-b*s.b;
float y=a*s.b+b*s.a;
a=x;b=y;
}
}
void disp()
{
if(b>0)
cout<<a<<"+"<<b<<"i"<<endl;
else
cout<<a<<"-"<<-b<<"i"<<endl;
}
};
void main()
{
Sample s1(2,3),s2(3,4);
cout<<"复数s1:"; s1.disp();
cout<<"复数s2:"; s2.disp();
s1.mult(s2);
cout<<"相乘结果:"; s1.disp();
cout<<endl;
}
本程序执行结果如下:
复数s1:2+3i
复数s2:3+4i
相乘结果:-6+17i

------------------------------------------------------

06.有若干教师,每个教师只有姓名,一个教师可以指导多名研究生;每名研究生有姓名、研究方向和班号数据,编写一个程序,要求输出每个教师指导的所有研究生的姓名、研究方向和班号数据。
解:
先设计一个学生类student,然后设计一个教师类teacher。teacher类中添加一个student对象数组,存放该教师指导的所有研究生对象,top为当前研究生的指针。这样实现了两个类之间一对多的关系。
本题程序如下:
#include<iostream.h>
#include<string.h>
#define Max 10
class student
{
char name[10]; // 姓名
char search[20]; // 研究方向
char cname[10]; // 班号
public:
student(){}
student(char n[],char s[],char c[])
{
strcpy(name,n);
strcpy(search,s);
strcpy(cname,c);
}
char *getname(){return name;}
char *getsearch(){return search;}
char *getcname(){return cname;}
};
class teacher
{
int top;
char name[10];
student stud[Max]; // 对象数组
public:
teacher(char t[]){top=0;strcpy(name,t);}
void add(student &s) // 对象引用作为参数
{
stud[top]=s; top++;
}
void disp()
{
cout<<"指导教师:"<<name<<endl<<" 研究生:"<<endl;
for(int i=0;i<top;i++)
{
cout<<""<<stud[i].getname()<<"("<<"方向:"<<stud[i].getsearch()<<","
<<stud[i].getcname()<<"班)"<<endl;
}
}
};
void main()
{
teacher t[]={teacher("李明"),teacher("王华")};
student s1("孙强","数据库","99010");
student s2("陈文","软件工程","99010");

student s3("章锐","计算机网络","00010");
t[0].add(s1);
t[0].add(s2);
t[1].add(s3);
for(int i=0;i<2;i++)
t[i].disp();
}
本程序的执行结果如下:
指导教师:李明
研究生:
孙强(方向:数据库,99010班)
陈文(方向:软件工程,99010班)
指导教师:王华
研究生:
章锐(方向:计算机网络,00010班)


上一篇:C++习题与解析(重载-02) 人气:483
下一篇:C++语言常见问题解答(3) 人气:466
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐