计算机科学丛书之第9章和第10章代码

本文是是笔记,记录下学习和总结,每一次记录必有成长
总结:
本文在C++中所应该掌握的知识包括:
抽象,封装,类的定义,类的调用,const,静态成员,静态方法,用对象作参数传递,数对象作为参数传递,字符串对象的处理,类的定义和分离

/**
	main.cpp
**/
#include <iostream>
#include "Circle.h"
using namespace std;
int Circle::numberofobject = 0;

//C++知识点: 抽象 封装 继承 多态 字符串的使用
void  charterNineAndTen();
void printArea(const Circle &c)
{
    cout<<"c.area():"<<c.area()<<endl;
}
void printArrAear(Circle *c)
{
    for(int i=0;i<10;i++)
    {
        cout<<"area:"<<i<<":"<<c[i].area()<<endl;
    }
}
typedef int INT;
int main()
{
    charterNineAndTen();
    return 0;
}

#if 1
void  charterNineAndTen()
{
    Circle a(2);
    Circle b;
    cout<<"a.area():"<<a.area()<<endl;
    cout<<"b.area():"<<b.area()<<endl;

    string str;
    //getline(cin,str);

    str = "chen hui chen hui";

    /* find(int),find(char,int),
       replace(int index,int n,string)
       substr(first,end)
       insert(int index,string s)
       insert(int index,int n,char ch)
    */
    /******
    *字符串的使用*
    *******/
    // str = chen hui
    int postion1 = str.find('n');//7

    string str_1 = str.substr(postion1+1,str.size());
    int postion2 = str_1.find('i',1);//3
    cout<<"postion1:"<<postion1<<endl;
    cout<<"postion2:"<<postion2<<endl;

    string str1 = str.replace(4,2,"haoming");//chen haomingi
    cout<<"str1:"<<str1<<endl;

    str1.insert(0,"123");//123chen haomingi
    cout<<"str1:"<<str1<<endl;
    str1.insert(3,3,'3');
    cout<<"str1:"<<str1<<endl;//123333chen haomingi

    /******
    *对象做参数*
    *******/
    Circle c(3);
    printArea(c);

    Circle *d = new Circle[10];
    for(int i=0;i<10;i++)
    {
        d[i].setRadius(i);
    }
    printArrAear(d);

    cout<<"static  number:"<<Circle::getnumberOfObject()<<endl;
}

#endif // 0

/****
	Circle.cpp
****/
#include "Circle.h"
Circle::Circle()
{
    radius = 1;
    Circle::numberofobject++;
}
Circle::Circle(float r)
{
    radius = r;
}

float Circle::area() const
{
    return radius*radius*PI;
}

void Circle::setRadius(float r)
{
    radius = r;
}
float Circle::getRadius() const
{
    return radius;
}
int Circle::getnumberOfObject()
{
    return numberofobject;
}
/***
	Circle.h
***/
#ifndef _CIRCLE_H_
#define _CIRCLE_H_
#define PI 3.1415926

class Circle
{
public:
    Circle();
    Circle(float r);
    float area() const;
    void setRadius(float r);
    float getRadius() const;
    static int getnumberOfObject();
private:
    float radius;
    static int numberofobject;
};

#endif // _CIRCLE_H_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值