C++程序代码.doc





《C++程序代码.doc》由会员分享,可在线阅读,更多相关《C++程序代码.doc(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1-1#include #define MUL(X) X*Xvoid main()int iValue;iValue = MUL(4+4)/(2+2);printf(%d,iValue);1-2#include void main()int x = A,y = 66;printf(%d,xy ? y+ :x+);printf(%d,x=y?+y:+x);printf(%d,%d,x,y);4-7/个人银行账户管理程序#include #include using namespace std;class SavingAccount /储蓄账户类private:int id;/帐号double b
2、alance;/余额double rate;/存款的年利率int lastDate;/上次变更余额的时期double accumulation;/余额按日累加之和/记录一笔帐,date为日期,amount为金额,desc为说明void record(int date,double amount);/获得到指定日期为止的存款金额按日累计值double accumulate(int date) constreturn accumulation + balance *(date - lastDate);public:/构造函数SavingAccount(int date,int id,double
3、rate);int getId() return id;double getBalance() return balance;double getRate() return rate;void deposit(int date,double amount);/存入现金void withdraw(int date,double amount);/取出现金/结算利息,每年1月1日调用一次该函数void settle(int date);/显示账户信息void show();/SavingAcount类相关成员函数的实现SavingAccount:SavingAccount(int date, in
4、t id, double rate):id(id),balance(0),rate(rate),lastDate(date),accumulation(0)cout date t# id is created endl;void SavingAccount:record(int date, double amount)accumulation = accumulate(date);lastDate = date;amount = floor(amount * 100 + 0.5) / 100;balance += amount;cout date t# id t amount t balanc
5、e getBalance()cout error:not enough money endl;elserecord(date,-amount);void SavingAccount:settle(int date)double interest = accumulate(date)*rate/365;/计算年息if(interest != 0)record(date,interest);accumulation = 0;void SavingAccount:show()cout # id tBalance: balance;int main()/建立几个账户SavingAccount sa0(
6、1,21325302,0.015);SavingAccount sa1(1,58320212,0.015);/几笔账目sa0.deposit(5,5000);sa1.deposit(25,10000);sa0.deposit(45,5500);sa1.withdraw(60,4000);/开户后第90天到了银行的计息日,结算所有账户的年息sa0.settle(90);sa1.settle(90);/输出各个账户信息sa0.show(); cout endl;sa1.show(); cout endl;return 0;5-1/作用域的实例:函数原型,局部,类,命名空间#include usin
7、g namespace std;int i;namespace Nsint j;int main()i = 5;Ns:j = 6;using namespace Ns;int i;i = 7;cout i = i endl;cout j = j endl;cout i = i endl;return 0;5-2/变量的生存期和可见性#include using namespace std;int i = 1;void other()static int a = 2;static int b;int c = 10;a += 2;i += 32;c += 5;cout -OTHER- endl;c
8、out i: i a: a b: b c: c endl;b = a;int main()static int a;int b = -10;int c = 0;cout -main- endl;cout i: i a: b: b c c endl;c += 8;other();cout -main- endl;cout i: i a: a b: b c: endl;i += 10;other();return 0;5-3/具有静态和动态生存期对象的时钟程序#include using namespace std;class Clock/时钟类的定义public :/外部接口Clock();vo
9、id setTime(int newH,int newM,int newS);void showTime();int hour,minute,second;/时钟类成员函数实现Clock:Clock():hour(0),minute(0),second(0) /构造函数void Clock:setTime(int newH, int newM, int newS)hour = newH;minute = newM;second = newS;void Clock:showTime()cout hour : minute : second endl;Clock globClock;int mai
10、n()cout first time output: endl;globClock.showTime();globClock.setTime(8,30,30);Clock myClock(globClock);/复制构造函数cout second time output endl;myClock.showTime();return 0;5-4/具有静态数据成员的Point类/引入金泰数据成员count用于统计Point类的对象的个数.#include using namespace std;class Pointpublic:Point(int x = 0,int y = 0):x(x),y(
11、y)/在构造函数中对count累加,所有对象共同维护一个countcount+;Point(Point &p)/复制构造函数x = p.x;y = p.y;count +;Point() /析构函数 count-; int getX()return x;int getY()return y;void showCount()/输出静态数据成员cout object count= count endl;private:int x,y;static int count;/静态数据成员声明,用于记录点的个数;int Point:count = 0;/静态数据成员定义和初始化,使用类名限定int mai
12、n()Point a(4,5);/定义对象a,其构造函数会使count增加1cout Point A a.getX() , a.getY();a.showCount();Point b(a);cout Point B b.getX() , b.getY();b.showCount();return 0;5-5/具有静态数据和函数成员的Point类#include using namespace std;class Point public:Point(int x = 0,int y = 0) : x(x),y(y)count +;Point(Point &p)x = p.x;y = p.y;c
13、ount +;Point()count-;int getX()return x;int getY()return y;static void showCount()cout object count count endl;private:int x,y;static int count;int Point:count = 0;int main()Point a(4,5);cout Point A : a.getX() , a.getY();Point :showCount();Point b(a);cout Point B : b.getX() , b.getY();Point :showCo
14、unt();return 0;5-6/使用友元函数计算两点之间的距离#include #include using namespace std;class Pointpublic :Point(int x = 0,int y = 0) : x(x),y(y)int getX()return x;int getY()return y;friend float dist(Point &p1,Point &p2);/友元函数声明private :int x,y;/友元函数的实现float dist(Point &p1,Point &p2)double x = p1.x - p2.x;double y
15、 = p1.y - p2.y;return static_cast (sqrt(x*x+y*y);int main()Point myp1(1,1),myp2(4,5);cout the distance is: ;cout dist(myp1,myp2) endl;return 0;5-7/常成员函数#include using namespace std;class Rpublic:R(int r1,int r2):r1(r1),r2(r2)void print();void print() const;/常成员函数 类型说明符 函数名(参数表)const;private:int r1,r
16、2;/成员函数print()的实现void R:print()cout r1 ; r2 endl;void R:print() constcout r1 : r2 endl;int main()R a(5,4);a.print();const R b(20,52);b.print();return 0;5-8/常数据成员#include using namespace std;class Apublic:A(int i);void print();private:const int a;static const int b;/静态常数据成员;const int A:b = 10;/静态常数据成
17、员在类外的说明和初始化/常数据成员只能通过初始化列表来获得初值A:A(int i):a(i) void A:print()cout a : b endl;int main()/*建立对象a,b并且以100,10作为初值,分别调用构造函数,通过构造函数的初始化列表给对象的常数据成员赋初值*/A a1(100),a2(0);a1.print();a2.print();return 0;5-9/常引用所引用的对象不能被更新/常引用的声明格式如下: const 类型说明符 &引用名#include #include using namespace std;class Pointpublic:Point
18、(int x = 0,int y = 0):x(x),y(y) int getX() return x;int getY() return y;friend float dist(const Point &p1,const Point &p2);private:int x,y;/常引用做参数float dist(const Point &p1,const Point &p2)double x = p1.x - p2.x;double y = p1.y - p2.y;return static_cast(sqrt(x*x+y*y);int main()const Point myp1(1,1),
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序代码

限制150内