本文是是笔记,记录下学习和总结,每一次记录必有成长
总结:
本文在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_