C++ 函数,值传递,函数的声明,函数的分文件编写

C++ 函数

第二章 C++函数


1.值传递

值传递: 值传递时,形参是修饰不了实参的。

C++中string字符串赋值
string s="";
string a="abcdefg";
1.将字符串a的元素赋值逐一赋值给另一字符串s
  s+=a[i];
2.将字符串a完全赋值给新字符串s
  s.assign(a);
3.将字符串a的一部分赋值给新的字符串s
  start是截取字符串的首位置,len是截取字符串的长度
  s.substr(start,len);
  s.assign(a,start,len);
4.对字符串s赋相同的n个初值
  s.assing(n,'x'),如给s赋10个字符a写法如下:
  s.assign(10,'a');
来自:https://www.cnblogs.com/cff2121/p/9892045.html
static void swap( string a,string b){//a,b是形参
        string temp="";
        temp.assign(a);
        a.assign(b);
        b.assign(temp);
    }
    static void dog(){
        string dogOne="笨笨";
        string dogTwo="聪聪";
        swap(dogOne,dogTwo);
        cout<<dogOne<<"\t"<<dogTwo<<endl;//dogOne和dogTwo没有改变
    }

2.函数的声明

告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义。

//声明可以多次,定义只能一次
void guanJianZi();
void guanJianZi();
int main() {
    guanJianZi();
    return 0;
}
//关键字
void guanJianZi() {
    cout << "Hello, World!" << endl;
    cout << "圆周率Π的值:" << p << endl;
    const int attack=10;
    int *q=(int *)&attack;
    *q=12;
    cout << attack << endl;
}

3.函数的分文件编写

  1. 创建后缀名为.h的头文件
  2. 创建后缀名为.cpp的源文件
  3. 在头文件中写函数的声明
  4. 在源文件中写函数的定义
//valuePush.h文件
#ifndef DEMO1_VALUEPUSH_H
#define DEMO1_VALUEPUSH_H
#include <iostream>
using namespace std;
void swap( string a,string b);
void dog();

#endif //DEMO1_VALUEPUSH_H
//valuePush.cpp文件
#include "valuePush.h"
#include <iostream>
#include <string>
template<typename T, size_t N>
char(&ArraySizeHelper(const T(&array)[N]))[N];
#define ARRAY_SIZE(array) (sizeof(ArraySizeHelper(array)))
void swap(string a,string b){
    string temp="";
    temp.assign(a);
    a.assign(b);
    b.assign(temp);
}
void dog(){
    string dogOne="笨笨";
    string dogTwo="聪聪";
    swap(dogOne,dogTwo);
    cout<<dogOne<<"\t"<<dogTwo<<endl;
}
//main文件
int main() {
    dog();
    return 0;
}
//

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值