您的位置:首页 > 编程语言 > C语言/C++

文章标题

2016-12-25 23:09 267 查看
## 类的常识 ##


struct和class唯一的不同为在struct中未被标明为public,protected,private的默认为public,而class中默认为private,其余完全相同

## 三种数据类型##

1public中函数可以被用户访问

2private中一般放数据成员以及辅助函数

3protect中的数据成员不可以在类外直接访问,但是可以在继承中直接访问(其实可以不用protect,在基类中申明set,get函数然后在派生类中用set,get,就无需用protect,这样封装性更好)

## const跟在函数后面 ##

一般用于print这类输出而不改变数据成员的函数申明后面+const,若想要改变可以将private中的数据成员申明为mutable,还有在main函数中若定义const类对象只能调用const函数

## 友元 ##

可以在类内申明,也可以在类外申明,被申明为友元的函数,类可以直接访问该类的private,同时如果在类中定义了一个友元函数,而在另一个类中调用了该函数编译器是不允许通过的,除非你在类外重新申明该友元

## 构造函数 ##

当类不提供构造函数时,系统自动提供默认构造函数,默认构造函数无形参,结构为空,当提供构造函数时则系统不会自己生成默认构造函数,此时如果你在main函数中创建类对象并且没有提供实参则报错,申明默认构造函数一般写法:类名()=default;

## 构造函数初始化数据成员方式 ##

一种为初始化器初始,一般用于初始化const数据成员或者在继承类中用其基类的构造函数如

class name
{
public:
name(string x)
{
name=x;
}
protect:
string name;
};

class specialname:public name
{
specialname(string x,int y)
:name(x)
{
num=y;
}
pricate:
int num;
};


其余可以使用类内初始化,即一般的初始化方式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 小白