7.17 作业

7.17 作业_第1张图片

 string

单个变量的赋值及初始化

#include 
using namespace std;

int main()
{
    string s1;           //定义了一个字符串类型   (无参构造)
    cout<<"s1 = "<#include 
using namespace std;

int main()
{
    string s1 = "hello world";
    string s2 = s1;              //使用s1给s2进行初始化
    cout<<"s2 = "<#include 
#include
using namespace std;


int main()
{
    string s1 = "hello world";         //C++风格字符串
    char s2[20] = "ni hao";              //C风格字符串

    s1 = s2;                //C风格字符串可以直接转换为C++风格字符串
    cout<<"s1 = "<#include 
using namespace std;

int main()
{
    string s1 = "hello world";
    cout<<"s1的长度为:"<push_back('h');
    p->push_back('e');
    p->push_back('l');
    p->push_back('l');
    p->push_back('o');
    cout<<"*p = "<<*p<

string类型的比较

#include 
#include
using namespace std;

int main()
{
    string s1 = "hello";
    string s2 = "world";

    //使用C风格字符串比较
    if(strcmp(s1.data(), s2.data()) >0)
    {
        cout<<"s1 大"< s2)
    {
        cout<<"s1 大"<

string类型的成员访问 at()

#include 
using namespace std;

int main()
{
    string s1 = "hello world";

    s1.at(0) = 'H';          //使用at访问字符串的成员,该函数有下标越界检查,如果下标越界则会报错
    cout<<"s1 = "<#include 
using namespace std;

int main()
{
    string s;

    cout<<"请输入一个字符串:";
    //cin>>s;                         //只能输入不带空格的字符串
    getline(cin, s);                //可以输入带空格的字符串
    cout<<"s = "<

引用的基本使用

#include 
using namespace std;

int main()
{
    int num = 520;       //定义一个变量

    int &ref = num;        //定义一个引用,目标为num,那么此时ref跟num是同一空间
    cout<<"ref = "<#include 
using namespace std;

//两数交换函数1
void fun1(int m, int n)
{
    int temp = m;
    m = n;
    n = temp;

    cout<<"fun1::m = "<#include 
using namespace std;

int main()
{
    int num = 520;

    const int &ref = num;     //定义常引用,目标为非常变量

    cout<<"ref = "<#include 
using namespace std;

int &fun()
{
    //int num = 520;        //局部变量的地址不能当做引用函数的返回值
    static int num = 520;

    //cout<<"&num = "<<&num<#include 
using namespace std;

struct Stu
{
    string name;          //姓名
    int age;               //年龄
    double &score;            //分数   结构体中有引用成员
};

int main()
{
    double s = 90;
    
    //使用结构体定义变量时,必须给引用成员初始化目标
    struct Stu s1 = {"zahngsan", 18, s};           //定义一个学生类型的变量
    
    return 0;
}

C++中的动态内存分配和回收

#include 
using namespace std;

int main()
{
    //在堆区申请一个int类型大小的空间
    int *p1 = new int;
    cout << "*p1 = "<<*p1<

函数重载(overload)

#include 
using namespace std;

//定义两个 整数求和
int my_sum(int m, int n)    //my_sumii
{
    return m+n;
}

//定义两个小数求和
double my_sum(double m, double n) //my_sumdd
{
    return  m+n;
}

//定义三个整型数据求和
int my_sum(int a, int b, int c)    //my_sumiii
{
    return a+b+c;
}

//定义两个字符串求和‘
string my_sum(string m, string n)
{
    return  m+n;
}

int main()
{
    cout << my_sum(2,8) << endl;          //自动调用参数为整形的函数  8
    cout << my_sum(2.4,8.3) << endl;          //自动调用参数为double的函数 10.7
    cout<

函数的默认参数

#include 
using namespace std;

//当被调函数在主调函数之后,需要对被调函数进行声明,函数的默认参数应该设置在声明部分
int my_sum(int m ,int n =10 , int k =10 );

int main()
{
    cout << my_sum(1,2, 3) << endl;       //6

    cout << my_sum(1,2) << endl;         //13

    cout << my_sum(1) << endl;          //21
    return 0;
}

//函数定义处,就不需要在设置默认参数了
int my_sum(int m ,int n , int k )
{
    return m+n+k;
}

函数重载和默认参数同时出现

#include 
using namespace std;

//当被调函数在主调函数之后,需要对被调函数进行声明,函数的默认参数应该设置在声明部分
int my_sum(int ,int =10 , int  =10 );

//声明一个两个整数求和     定义该函数没有问题
int my_sum(int a, int b)    //尽量不要出现这种问题
{
    return a+b;
}

int main()
{
    cout << my_sum(1,2, 3) << endl;       //6

    //cout << my_sum(1,2) << endl;         //调用该函数时,会产生混乱

    cout << my_sum(1) << endl;          //21
    return 0;
}

//函数定义处,就不需要在设置默认参数了
int my_sum(int m ,int n , int k )
{
    return m+n+k;
}

哑元

#include 
using namespace std;

//函数定义处,就不需要在设置默认参数了
int my_sum(int m ,int , int k )
{
    return m+k;
}

int main()
{
    cout << my_sum(1,2, 3) << endl;       //4
    cout << my_sum(1,2, 3) << endl;
    cout << my_sum(1,2, 3) << endl;
    cout << my_sum(1,2, 3) << endl;
    cout << my_sum(1,2, 3) << endl;
    cout << my_sum(1,2, 3) << endl;
    cout << my_sum(1,2, 3) << endl;
    cout << my_sum(1,2, 3) << endl;
    cout << my_sum(1,2, 3) << endl;
    cout << my_sum(1,2, 3) << endl;
    cout << my_sum(1,2, 3) << endl;
    return 0;
}

你可能感兴趣的:(c++)