Hello,我是修齊。
学习C++的第一百零五天,用心学习。
在这里记录一些学习的东西和学习的心情,内容主要是一些自己学习整理的小笔记。
1.结构体默认情况下:成员是公有的(public)
2.类默认情况下:成员是私有的(private)
3.类和结构使用的关键字不同,成员访问控制方面有差异
4.Microsoft为Visual C++集成了许多类,成为MFC(微软基础类库)
5.class <大写开头类名>
1.C++中,结构体可以包含变量
struct point //定义结构体
{
int x;//定义成员变量
int y;
};
void main()
{
point pt;//定义结构体变量pt
pt.x=0;//引用成员变量并赋值
pt.y=1;
cout <<"pt.x="<
2.C++中,结构体可以包含函数
struct point//定义结构体
{
int x;//定义成员变量
int y;
void print()//定义成员函数
{
cout<<"x="<
poitn pt;//定义结构体变量
pt.x=0;//引用成员变量并赋值
pt.y=1;
pt.print();//引用成员函数
}
3.结构体到类
1.将上述代码更换关键字“struct”为“class”
class point
{
int x;
int y;
void print()
{
cout <<"x="<
point pt;//声明对象
pt.x=0;//赋值
pt.y=1;
pt.print();//调用成员函数
}
得到的结果提示错误信息:不能访问类中私有(rivate)的成员变量和成员函数
2.解决不能访问私有成员的变量和函数,只需将类中定义的变量x和y,以及定义的成员函数print()都定义为公有。
class point
{
public://说明符
int x;
int y;
void print()
{
cout <<"x="<
三、类(声明部分+实现部分)
1.类(声明格式)
class
{
private:
私有数据和函数
Public:
受保护数据和函数
};
2.共同体类型定义与变量分开
class Cbook//声明类Cbook
{
private://下面为私有数据
char*m_pczName;
int m_nPages;
int m_nEdition;
public://下面为公有数据和函数
void GetBookName(char*pName);
int GetTotalPages();
int GetBookEdition();
private://下面为私有数据和函数
void SetBookName(char*pName);
void SetTotalPages(int nPages);
vodi SetBookEdition(int nEditon);
public://下面的为公有数据和函数
Cbook();
};
void main()
{
Cbook op1;//声明对象
cout<<"Class define Success"<
3.Cbook类中定义了私有和公有两类成员,其中数据成员都为私有,是出于封装的目的,不希望直接访问数据成员,而是通过所提供的公有函数访问。
GetBookName()//调用函数知道书的名字
SetBookName()//调用函数改变书的版本号
四、类的访问控制(类体访问说明符<access specifier>:public、private和保护成员protected)
class point//声明类
{
private:
int x;//定义成员变量
int y;
public:
void print()//定于成员函数
{
cout<<"x="<
point pt;//声明对象
pt.x=0;//未调用公有成员函数,在外部访问类的私有成员(编译会提示错误)
pt.print();//访问类的公有成员,调用函数
}
没有给x,y赋值,因此主函数main()中调用print()函数输出x和y的值时,都会输出没有意义的值
1.类体没有访问说明符时,默认成员时私有成员。
2.类体开始到某些类成员前没有访问说明符,默认成员私有。
class point //定义类
{
int x;//定义成员变量
int y;
public:
void print()//定义成员函数
{
cout <<"x="<
五、小脑袋,大疑问
类的声明=类的内部结构(数据成员)+类的接口(成员函数的函数原型)。
函数的功能的实现没有具体定义,因此要对类的成员函数进行定义,给出这一类对象的具体行为,为类的实现。
上述内容如有侵权,联系即删。
感谢阅读-感谢支持



