IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++ 编程 -> 正文阅读

[C++知识库]C++ 编程

1. c++引用

(1)引用简介

c里面&表示取地址,c++里面表示引用。所谓引用,就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 ????????

?引用的声明方法:类型标识符 &引用名=目标变量名;

(1)引用必须初始化

(2)一旦初始化后,就不可以更改

int a = 10;

int b = 20;

int &c; //错误,没有对引用初始化

int &c = a;//初始化

c=b;//把b赋值给c.相当于把b赋值给a, 此时a,b,c的值全是20

(2)引用作为函数参数

c++引用传递和C里面指针传递(地址传递)的效果一样,形参变了,对应实参也会变。

(3)引用做函数的返回值

(1)不要返回局部变量的引用,

(2)函数的调用可以作为左值

例如

int& test()

{

??? int a = 10;

?? // return a;//错误,因为a是局部变量, 局部变量放在栈区,函数运行完了,a就被释放了。

static int b = 20;

return b;//OK,静态变量放在全局区,由系统释放,所以可以返回,别的函数继续使用返回的引用

}

int main()

{

int &ref = test();

cout << ref <<endl;//输出20

test() = 1000; //函数的调用可以作为左值, 等价于 b = 1000

cout << ref <<endl;//输出1000, 原名b为1000, 别名ref也为1000

return 0;

}

2. 函数

(1)函数默认参数

1. 如果自己传入数据,用自己的。如果没有,就用默认值

2. 如果某个位置有默认参数,从这个位置往后,所以形参都要有默认值

int func(int a, int b = 10, int c = 20)//可以给形参指定一个默认值

(2)函数占位参数

形参列表里面可以有占位参数,调用函数时必须填补该位置.另外占位参数还可以有默认参数

void fun(int a,? int)

void function(int a, int = 100)

(3)函数重载

1. 满足函数重载条件:

同一个作用域

函数名相同

函数参数类型不同,或者个数不同或者顺序不同

注意:函数返回值不可以作为重载条件

????????? 引用可作为重载条件

3. 类和对象

1. 万事万物皆为对象,对象有自己的属性和行为;

???? 属性一般是成员变量;行为一般是成员函数/方法。

2. 具有相同性质的对象,可以抽象为类。比如人属于人类,车属于车类。

3. 访问权限:

???? public:类内和类外都可访问

??? protected:类内可以访问,类外不可以访问,子类可以访问父类的protected

??? private:类内可以访问,类外不可以访问, 子类不可以访问父类的private

class Student
{
public:??? //访问权限
?? ?string s_name;? //属性
?? ?int s_id;

?? ?void showStudent()??? //行为
?? ?{
?? ??? ?cout << "姓名:" << s_name << "学号:" << s_id << endl;
?? ?}
?? ?void setName(string name)
?? ?{
?? ??? ?s_name = name;
?? ?}
};

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-25 21:31:04  更:2021-07-25 21:31:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 8:22:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码