C++入门

 C/C++总述:Study C/C++-CSDN博客

C++是什么

C++是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式等

最简单的C++程序

#include <iostream>
using namespace std;
 
int main()
{
   cout << "Hello World";
   return 0;
}

C++关键字

(C++总计63个关键字,C语言32个关键字

asmelsenewthis
autoenumoperatorthrow
boolexplicitprivatetrue
breakexportprotectedtry
caseexternpublictypedef
catchfalseregistertypeid
charfloatreinterpret_casttypename
classforreturnunion
constfriendshortunsigned
const_castgotosignedusing
continueifsizeofvirtual
defaultinlinestaticvoid
deleteintstatic_castvolatile
dolongstructwchar_t
doublemutableswitchwhile
dynamic_castnamespacetemplate

命名空间

C/C++ 中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化, 避免命名冲突或名字污染 namespace 关键字的出现就是针对这种问题的。

命名空间定义 

定义命名空间,需要使用到 namespace 关键字 ,后面跟 命名空间的名字 ,然 后接一对 {} 即可, {} 中即为命名空间的成员。
namespace Gh
{
     // 命名空间中可以定义变量/函数/类型
     int rand = 10;

     int Add(int left, int right)
     {
         return left + right;
     }

     struct Node
     {
         struct Node* next;
         int val;
     };
}

 一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中

//命名空间还可嵌套使用
namespace N1
{
    int a;
    int b;
    int Add(int left, int right)
    {
        return left + right;
    }

    namespace N2
    {
        int c;
        int d;
        int Sub(int left, int right)
        {
            return left - right;
        }
    }
}

命名空间使用

1.加命名空间名称及作用域限定符
int main()
{
    printf("%d\n", N::a);
    return 0;    
}

2.使用using将命名空间中某个成员引入
using N::b;
int main()
{
    printf("%d\n", N::a);
    printf("%d\n", b);
    return 0;    
}

3.使用using namespace 命名空间名称 引入
using namespce N;
int main()
{
    printf("%d\n", a);
    printf("%d\n", b);
    return 0;    
}

缺省参数

缺省参数概念:

缺省参数是 声明或定义函数时 为函数的 参数指定一个缺省值 。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参。
#include <iostream>

using namespace std;

// 声明一个带有缺省参数的函数
void printMessage(string message = "Hello, World!") {
    cout << message << endl;
}

int main() {
    // 调用函数时不提供参数值,将使用默认值
    printMessage();  // 输出: Hello, World!

    // 调用函数时提供参数值,将使用提供的值
    printMessage("Hello, C++!");  // 输出: Hello, C++!

    return 0;
}

缺省参数分类:

全缺省参数
void Func(int a = 10, int b = 20, int c = 30)
 {
     cout<<"a = "<<a<<endl;
     cout<<"b = "<<b<<endl;
     cout<<"c = "<<c<<endl;
 }

半缺省参数
void Func(int a, int b = 10, int c = 20)
 {
     cout<<"a = "<<a<<endl;
     cout<<"b = "<<b<<endl;
     cout<<"c = "<<c<<endl;

注意:

1. 半缺省参数必须从右往左依次来给出,不能间隔着给。
2. 缺省参数不能在函数 声明 定义 中同时出现(如果声明与定义位置同时出现,恰巧两个位置提供的值不同,那编译器就无法确定到底该用那个缺省值)。
 //a.h
  void Func(int a = 10);
  
  // a.cpp
  void Func(int a = 20)
 {}

函数重载

函数重载定义

在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。您不能仅通过返回类型的不同来重载函数。

#include <iostream>
using namespace std;
 
class printData
{
   public:
      void print(int i) {
        cout << "整数为: " << i << endl;
      }
 
      void print(double  f) {
        cout << "浮点数为: " << f << endl;
      }
 
      void print(char c[]) {
        cout << "字符串为: " << c << endl;
      }
};
 
int main(void)
{
   printData pd;
 
   // 输出整数
   pd.print(5);
   // 输出浮点数
   pd.print(500.263);
   // 输出字符串
   char c[] = "Hello C++";
   pd.print(c);
   /*输出为:   
        整数为: 5
        浮点数为: 500.263
        字符串为: Hello C++
   */
   return 0;
}

引用

引用定义:

引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。对引用的操作与对其所绑定的变量或对象的操作完全等价。

注意:

1. 引用在 定义时必须初始化
2. 一个变量可以有多个引用
3. 引用一旦引用一个实体,再不能引用其他实体

引用做参数

#include <iostream>
using namespace std;
 
// 函数声明
void swap(int& x, int& y);
 
int main ()
{
   // 局部变量声明
   int a = 100;
   int b = 200;
 
   cout << "交换前,a 的值:" << a << endl;
   cout << "交换前,b 的值:" << b << endl;
 
   /* 调用函数来交换值 */
   swap(a, b);
 
   cout << "交换后,a 的值:" << a << endl;
   cout << "交换后,b 的值:" << b << endl;
 
   return 0;
}
 
// 函数定义
void swap(int& x, int& y)
{
   int temp;
   temp = x; /* 保存地址 x 的值 */
   x = y;    /* 把 y 赋值给 x */
   y = temp; /* 把 x 赋值给 y  */
  
   return;
}

引用做返回值

#include <iostream>
using namespace std;

int& change(int& num) {
    num *= 2;
    return num;
}

int main() {
    int number = 5;

    cout << "原始值:" << number << endl;
    change(number);  // 使用返回的引用修改number的值
    cout << "修改后的值:" << number << endl;

    return 0;
}

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Dev-C++是一款流行的集成开发环境(IDE),用于C和C++编程。下面是Dev-C++入门教程: 1. 下载和安装:首先,你需要从Dev-C++官方网站下载并安装最新版本的Dev-C++。安装过程相对较简单,按照提示进行操作即可。 2. 创建新项目:打开Dev-C++后,点击菜单栏上的"File",然后选择"New"来创建一个新项目。在弹出的窗口中,选择"C++ Project"或"C Project",并为项目命名。 3. 编写代码:在项目中的源文件上右键点击并选择"Add new",然后选择"C++ Source"或"C Source"。在弹出的代码编辑器中,你可以编写C或C++代码。 4. 编译和运行:点击菜单栏上的"Execute",然后选择"Compile & Run"来编译和运行你的代码。如果一切顺利,你将在输出窗口中看到"Hello world"的输出。 注意:在编写代码时,你可以使用C++的输出流对象cout来输出文本。在Dev-C++的代码示例中,你会看到类似于"cout<<"Hello world";"这样的代码段。这是C++中一种常用的输出语法。 这就是Dev-C++入门教学。希望对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Dev-c++入门教程1(模板及使用)](https://blog.csdn.net/zzz209/article/details/109955745)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禊月初三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值