class类
创建类
class Circle
{
public :
double radius;
Circle()
{
radius =1 ;
}
Circle (double newRadius)
{
radius=newRadius
}
double getArea()
{
return radius *radius *3.14 ;
}
}
创建对象
无参
Circle circle1;
有参
Circle circle2(5.5 );
对象访问运算符(访问对象的数据还有对象的函数。他们就是对象的属性)
circle1.radius =10
int area = circle1.getArea ()
对象可以作为函数的形参,类似数值传递那样,把整个对象传递过去
void printCircle(Circle c){
cout << "The area of the circle of" << c.getRadius() << "is" << c.get .Area() <<endl;
}
int main(){
Circle myCircle(5.0 );
printCircle(myCircle);
return 0 ;
}
std::vector容器,类似于数组,但是它是以对象形式存在的
std ::vector <double > a;
std ::vector <Widget> vWidget(500 ,Widget(0 ));
继承
继承理解:自行车的基类下面有很多子类,如:山地车、死飞、双人自行车等等,他们拥有自行车的通有属性,又有自己独特的属性,我们不需要每次都要定义一次通有属性,继承过去就行了
继承格式
calss MountainBike : public Bike
template模板
解决的问题:再求类似,求两个整数,双精度浮点数,二字符的最大者,我们之前要用三个函数去实现,但是,用了template一个就实现了
template<class T >
T maxValue(T x,T y){
if (x>y)
return x;
else
return y;
}
int main(){
cout << maxValue(1 ,3 )<<endl;
cout << maxValue(1.5 ,3.6 )<<endl;
cout << maxValue(A,N)<<endl;
}
//还可以实现多类型参数
template<class T ,class S >
T maxValue(T x,S y)...