当前位置: 首页 > wzjs >正文

滨州区建设局网站百度网站流量查询

滨州区建设局网站,百度网站流量查询,技术专业网站建设,好的做网站架构的书类 c 是一种人机交互的面向对象的编程语言,面向对象思想主要体现在 类 上。 类是具有相同属性和相同行为的对象的集合, 具有封装,继承,多态的特性。 类的定义 class 类名 { }; 封装 例如:人就是一种类…

c++ 是一种人机交互的面向对象的编程语言,面向对象思想主要体现在 类 上。

类是具有相同属性和相同行为的对象的集合, 具有封装,继承,多态的特性。

类的定义

class 类名 { };

封装

例如:人就是一种类,相同属性有年龄,性别等。相同行为有吃饭,喝水等。

把这些相同属性和相同行为封装到一个结构中就类。

class people{
public:
int age;
char sex;public:
void eat();
void drink();
};

同样,动物也是一种类,相同属性也有年龄,性别等。相同行为也有吃饭,喝水等。

class animal{
public:
int age;
char sex;public:
void eat();
void drink();
};

继承

这时,发现人和动物的相同属性和行为可以再提取封装成一种类。

class object {
public:
int age;
char sex;public:
void eat();
void drink();
};

有了 object 类,再定义人和动物的类的时候,可以继承object 类。

class people:pulic object {

};

class animal :pulic object {

};

类 people 和  类 animal 中没有定义属性(年龄,性别)和 行为(吃饭,喝水),但是继承类object ,所以类 people 和  类 animal同样有了属性(年龄,性别)和 行为(吃饭,喝水)。

这只是一层继承,如果把类 people 和  类 animal继续往下区分,还可以多层继承

class object 是基类,类 people 和  类 animal是子类也叫派生类。

多态

class animal :pulic object {
public:
void call ();//动物叫声
};class dog:animal {
public:
void call ();//狗叫声:汪汪
};class cat:animal {
public:
void call ()//猫叫声:喵喵
};

动物有叫声,不同的动物有不同叫声,这就是多态

到此为止,我们对类的框架有了一个大体的认识,接下来是到类的内部。

类的属性和行为

类内部知识点:权限,构造函数,析构函数,内联函数,友元函数等等

访问权限

三种权限:私有权限 private,保护权限 protected, 公有权限 public (如果没有标注权限,默认是私有权限private)

权限范围:public > protected > private

权限可以作用于 属性和行为,还有派生类(继承权限)。

私有权限:将类属性和行为作为的私有成员,不能在类外访问;
保护权限:将类属性和行为作为的保护成员,不能在类外访问但是可以被继承;
公有权限:将类属性和行为作为的公有成员,可以在类外访问。

私有继承:将基类保护和公有的成员作为派生类的私有成员,不能在类外访问;
保护继承:将基类保护和公有的成员作为派生类的保护成员,不能在类外访问但是可以被继承;
公有继承:将基类保护和公有的成员作为派生类的公有成员,可以在类外访问。

构造函数

构造函数有 默认构造函数,拷贝构造函数,移动构造函数

构造函数没有返回值,如果类中没有定义的构造函数,默认有  默认构造函数。
 

class object {
public:
int age;
char sex;public:
object(int age,char sex);//构造函数 声明
object(object  & obj);//拷贝构造函数 声明
object(object && obj) noexcept; //移动构造函数 声明~object();//析构函数 声明
};object::object(int a,char s){ //构造函数 定义
age =a ;
sex =s ;
}object::object(object & obj){ //构造函数 定义
age =obj.age ;
sex =obj.sex;
}object::object(object && obj) noexcept{ //移动构造函数 定义}~object() {  //析构函数 定义
}

构造函数可以对成员变量进行初始化,  可以在函数体内进行,也可以用初始化列表。

object :: object(int a,char s) :age(a), sex(s) {  //构造函数 定义}

拷贝构造函数:深拷贝和浅拷贝(只是对指针的拷贝,浅拷贝后两个指针指向同一个内存空间,深拷贝不但对指针进行拷贝,而且对指针指向的内容进行拷贝,经深拷贝后的指针是指向两个不同地址的指针。)

object :: object(object  & obj){ //拷贝构造函数 定义
age =obj.age ;
sex =obj.sex ;
}

拷贝构造函数使用场景:

1.用一个对象初始化另一个对象;

2.函数参数是类对象(即值传递。引用传递除外);

3.函数返回值是类对象。

移动构造函数 

原型:类名(类类型 &&); 以object类为例,其移动构造函数声明如下:

object ( object && obj )  noexcept;

 使用场景:

用一个临时对象(即将被销毁的对象)去初始化另一个同类型的对象。

主要是针对类中有指针变量的情况(类似浅拷贝,临时对象的指针变量置空NULL)。

析构函数

原型:~类名();  以object类为例,其析构函数声明如下:

~object(){

}

类中含有指针变量,需要在析构函数中处理,以防内存泄漏。

内联函数

1.在类中定义的成员函数,默认就是内联函数。

2.在类中声明的成员函数 前加上关键字 inline,类外定义的成员函数前 也加上inline,该成员函数是内联函数。

内联函数作用:减少了调用函数的步骤,而是直接替换。

友元函数

1.在类中声明的函数前加上关键字 firend. 不是类的成员函数。

以object类为例,其声明如下:

firend void show();// 类中声明

void show(){ // 类外定义

}

友元函数的作用:可以访问类的私有成员和保护成员。

同样,类中也可以有友元类,作用同友元函数一样。

虚函数

1.在类中声明的函数前加上关键字 virtual

以object类为例,其声明如下:

virtual void call();// 声明

虚函数作用:通过基类指针指向不同的派生类对象,也就是动态绑定,实现多态特性。

纯虚函数

1.在类中声明的函数前加上关键字 virtual,直接=0;没有函数体。

以object类为例,其声明如下:

virtual void call() = 0;

类中含有纯虚函数,该类是抽象类,不能实例化。

在其派生类中必须对该函数重定义,否则该派生类也成了 抽象类。

http://www.dtcms.com/wzjs/142530.html

相关文章:

  • 区政府网站建设专业网站优化外包
  • 网站维护和建设工作范围seo的工作内容
  • 北京模板网站建设费用seopc流量排名官网
  • 做教程网站资源放哪里有河北电子商务seo
  • 建设营销型网站模板网站综合排名信息查询
  • 花卉网站开发可行性it培训课程
  • 弄个本科学历需要多少钱百度推广和优化有什么区别
  • 两人合伙做网站但不准备开公司中国时事新闻网
  • 建设投资平台网站奶茶店推广软文500字
  • 网站建设潮州优化 seo
  • 网站建设 软件开发重庆的seo服务公司
  • 做网站挂靠服务器什么好今日新闻摘抄50字
  • 网站升级改版的目的网站点击率查询
  • wordpress怎么改导航栏网站推广seo
  • 装修网站模板公司企业网站建设方案
  • 学做会计账的网站神马seo服务
  • 做宣传语的网站如何在google上免费推广
  • 周口网站建设费用自媒体人专用网站
  • 网站运营专员做什么重庆森林经典台词 凤梨罐头
  • 哪建设网站好正规接单赚佣金的app
  • 菏泽手机网站建设全球网站排名
  • 响应式 购物网站模板如何在百度上推广业务
  • jsp网站开发总结推广软文代发
  • 设计经典网站北京优化网站推广
  • 一般网站用什么做的安卓内核级优化神器
  • 罗岗网站建设公司给我免费播放片高清在线观看
  • 班级网站源代码网站建设优化400报价
  • 一个人在家做网站建设google安卓版下载
  • 海棠网站是什么意思福州网络营销推广公司
  • 时时彩网站怎么做免费开店的电商平台