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

东莞网站建设做网站wordpress 思源黑体

东莞网站建设做网站,wordpress 思源黑体,wordpress 退出 跳转,做整形网站多少钱一、封装封装本身是围绕着类进行的:在类中写各种各样的函数1、类在C中创建类的函数有两个,分别是struct 和 classstruct 和 class 创建的叫类,使用 类 定义的变量叫做 对象,类中的变量叫做 成员变量1)类 中对象的访问权…

一、封装

封装本身是围绕着类进行的:在类中写各种各样的函数

1、类

在C++中创建类的函数有两个,分别是struct class

struct 和 class 创建的叫,使用 类 定义的变量叫做 对象,类中的变量叫做 成员变量

1)类 中对象的访问权限

piblic:公开权限                                在类 内部,外部均可访问

protected:受保护权限                      在类 内部可以访问,外部不可访问

private:私有权限                              在类 内部可以访问,外部不可访问

目前来说 private 和 protected 这两个权限没有区别

private 和 public 具体使用

根据 c++ 标准委员会的要求(人为规定):没有特殊需求的时候,
所有的成员属性(变量)都放在private里面,所有成员方法(函数) ,都放在public里面

2)内部访问和外部访问

外部访问:
既不在类的作用域中访问成员属性,并且在访问的时候,前面也没有加上 作用域:: 运算符,都属于外部访问

内部访问:
和外部访问相反,只要在类的作用域里面,或者访问的时候,前面有 作用域::运算符,都属于内部访问

3)struct 和 class 的区别

创建类:

struct 创建的类,中的参数,默认是piblic(公开权限)

class  创建的类,中的参数,默认是private(私有权限)

初始化类:

class 不允许直接使用 {} 形式进行初始化 (如果想要使用{} 初始化,需要额外操作)

4)类 的初始化方式

类 的初始化要通过 构造函数 初始化

2、构造函数

构造函数是中和类同名的函数,如果类中没有构造函数,编译器会自动添加无意义的构造函数

无论是创建 class对象,还是创建 struct对象,只要是定义类的对象都会自动调用类内的构造函数

1)构造函数的特点

1. 构造函数没有返回值类型

这里的没有返回值类型不是指void,而是实实在在的没有返回值类型

2. 构造函数的名字必须和当前类的类名一致
3. 类 中没有写构造函数

如果类中没有写构造函数编译器会自动补全一个内容为空的、无参无返的 构造函数

4. 构造函数允许出现多个(形参类型不完全一致)

形参类型不完全一样:参数、数量、排列组合的顺序,只要有一个不一样

当有多个版本的构造函数的时候,到底调用的是哪个版本的构造函数,取决于调用构造函数的时候,传递了什么排列组合的实参

2)构造函数的调用方式

1. 自动调用

格式:类名 对象(参数1,参数2···) 

2. 手动调用

格式:类名 对象=构造函数名(参数1,参数2···) 

3. 隐式调用

格式:类名 对象(单个参数)
注意:如果填写了多个参数,由于逗号运算符,只获取最后一个变量的值 
格式:类名 对象={参数1,参数2···} 

3)隐式调用

上述的方法中有两种被称为隐式调用,隐式调用就是我们无法直接看出调用了类的构造函数

可以通过在函数的声明前添加关键字 explicit 用于禁止隐式调用

 隐式调用的示例:

隐式调用赋值,有问题

4)初始化列表

构造函数分为两个部分:内核部分和用户部分

        用户部分:{}内的部分,负责执行用户自己编写的代码
内核部分:()到{}中间的部分,申请该对象所需要的所有栈空间

这部分区域,用户是可以人为干涉的
: 变量名1(初始值),变量名2(初始值),...,对象1(构造函数参数),对象2(构造函数参数),......
在列表初始化里面,()前面的一定是成员属性,()里面的就近原则

练习:

封装一个mystring类,
class mystring{
private://char buf[256];char* buf;// 指向一个堆空间,该堆空间用来保存外部传入的字符串int len; // 记录 buf里面保存的字符串有多少
public:    
};要求能够实现以下功能
int main(){mystring str = "hello"; // 这段代码要求一定为mystring类写一个可隐式调用的单参构造函数mystring ptr = "world"; // 在写单参构造函数的时候,私有成员len使用列表初始化的形式初始化str.copy(ptr);str.copy("你好");str.append(ptr)str.append("你好")str.compare(ptr)str.compare("你好")str.show(); // 最后再写一个 show 函数,用来在终端输出 str 里面保存的字符串cout << str.at(0) << endl;// 再写一个 at 函数,用来输出 str中第0个字符
}
#include <iostream>
#include <cstring>
#include <iostream>
using namespace std;
class mystring
{
private:char* buf;int len;public:mystring(const char* str);void copy(const char* ptr);void copy(mystring ptr);void append(const char* ptr);void append(mystring ptr);void compare(const char* ptr);void show(){cout << buf << endl;}
};
mystring::mystring(const char* str):len(strlen(str))
{buf=(char*)malloc(len+1);strcpy(buf,str);
}//复制字符串
void mystring::copy(const char* ptr)
{int i=0;len=strlen(ptr);while(ptr[i]!='\0'){buf[i]=ptr[i];i++;}buf[i]='\0';
}void mystring::copy(mystring ptr)
{int i=0;len=ptr.len;while(ptr.buf[i]!='\0'){buf[i]=ptr.buf[i];i++;}buf[i]='\0';
}
//追加字符串
void mystring::append(const char* ptr)
{int i=0,j=0;while(buf[i]!='\0'){i++;};for(;ptr[j]!='\0';j++,i++){buf[i]=ptr[j];}buf[i]='\0'; len=i;
}void mystring::append(mystring ptr)
{int i=len,j=0;while(ptr.buf[j]!='\0'){buf[i]=ptr.buf[j];i++;j++;
}
buf[i]='\0';
len=i;}
//主函数
int main()
{mystring str = "hello";str.show();mystring ptr = "world";str.copy(ptr);str.show();str.copy("你好");str.show();str.append(ptr);str.show();str.append("你好");str.show();
}

二、继承

三、多态

http://www.dtcms.com/a/454397.html

相关文章:

  • 人声增强AI开源软件
  • 学校网站设计理念哪些网站可以做微商
  • 网站制作学生信息管理太原贴吧
  • C语言模拟面向对象编程方法之封装
  • 公司制作网站价格表莱芜生活网
  • 购物网站asp源码门户网站维护
  • 0.5 数据增强、keras模型保存以及读取、绘制loss过程
  • wordpress网站维护页面模板做网站材料
  • 8.复合查询与内外连接
  • load_dotenv() 加载环境变量
  • 【C语言基础】数据类型、运算符与控制语句详解
  • 无限容量网站灵山建设局网站
  • 站长工具网站怎么做外围网站代理
  • 安泽网站建设网站seo在线检测
  • 廊坊企业建站模板东莞哪家做网站好
  • 做网站空间多大做网站前需要做什么准备
  • 中国建设工程造价管理协会登录网站wap网站排名
  • 商业网站建设设计装饰中国建设银行网站下载
  • 鸿蒙跨端开发:ArkTS与Java混合编程的性能边界测试
  • c 可以做网站嘛深度网络
  • StrFormatByteSize 函数:从字节到可读大小的转换
  • 服务器 做网站网站基础代码html
  • 【LaTeX】 15 LaTeX 错误处理指南
  • 建设新网站征求意见电商网站建设求职定位
  • 怎样拍照产品做网站安徽合肥中国建设银行网站首页
  • JSP 表达式语言
  • DeepSeek“问道”-第九章:问救赎 —— 携镣铐而舞,向宽阔处行
  • 网站开发需要学些什么网站建设与管理的网页
  • 好听的网站名称建一个网站首先要怎么做
  • 2025-10-07 考场防烫tips P5091