在c++中有三种访问限制符:public,private,protect
public:可以直接访问成员
private和protect不可以直接访问成员
一个类由成员函数,成员变量构成
class CGoods
{
//三种访问限制符:public,private,protect
public:
//成员函数,不包含在空间范围内,放在公共代码区
void RegisterGoods(char* name, int count, float price)
{
strcpy(m_name,name);
m_count = count;
m_price = price;
}
//void showName(CGood*const this)this代表当前对象,不能被修改this的指向,函数能区分对象的原因
char* showName()
{
return m_name;
}
int showCount()const //常方法
{
return m_count;
}
float showPrice()
{
return m_price;
}
float showTotalPrice()
{
m_totalprice = m_count * m_price;
return m_totalprice;
}
//成员变量
private:
char m_name[10];
int m_count;
float m_price;
float m_totalprice;
};
关于结构体和类,在C与C++中,C++类默认为private且允许由空类,空结构体大小为1,在C中struct默认为public不允许由空结构体
常对象和常方法
class A
{
public:
void fun()
{
cout << "This is const fun()" << endl;
}
void fun()const
{
cout << "This is fun()" << endl;
}
};
常对象调用常方法,允许重载,因为参数不一样,第一个是A const* this第二个是const A const* this