类和对象
基本特点:抽象,继承,封装,多态,代码重用。概括一下,类就是由许多具有相似特点的对象抽象出来的一种集合,比如男人,女人都可以成为类,所有男人都有其共同特征,每一个具体的男人都可以称之为该类的一个对象。
类权限
累的权限分为公有和私有,公有表示,你想让别人看到,私有意味着你想隐藏起来,不让外界接触。
class world
{
float mass;//private by default
char name[20];//private by default
public:
void get();//public
void set();//public
};
注: 类和结构很相似,结构体内也能够定义函数方法,唯一区别在于结构体内默认权限为public
类定义
#include<iostream>
#include"stock.h"
void stock::acquire(const std::string&co,long n,double pre)
{
.............
}
void stock::buy(long num,double price)
{
................
}
注: 定义于类声明中的函数自动成为内联函数
对象,数据和成员函数
const对象
const stock land=stock("name");
land.show();//error
由于对象为常对象也就是调用对象不应该被修改,而编译器不知道show()是否会修改,所以被报错。解决方法如下:
void show()const;//promise not to change invoking object
void stock::show()const;//promise not to change invoking object
类的构造函数
Bozo bozetta=bozo("Bozetta","Biggens");//primary from
Bozo fufu("Fufu","yang");//short from
Bozo *pc=new Bozo("Popo","Le fu");//dynamic object
this 指针
const stock&stock::topval(const stock&s)const
{
if(s.total_val>total_val)
return s;//argument object
else
return *this;//invoking object
}
类中定义常量的两种方式
class A
{
public:
int a=6;//error
int data[a];
};
方法一:声明一个枚举类型
class A
{
private:
enum{Months=12};
int data[Months];
};
方法二:使用关键字static
class A
{
private:
static const int Months=12;
int data[Months];
}