C++语法学习记录

2021-01-16 16:12

阅读:441

标签:类型   mes   protect   can   编程语言   个数   col   变量   tin   

1 class

C++是一种面向对象的编程语言,需要创建一个个对象,也就是类。

如下程序所示,创建了一个体积类(volume),类包括长宽高。

而A是体积类的一个实例。

#include using namespace std;

class volume  //创建类的格式:class 类的名称
{
public:     //确定类的成员属性,如果没有定义,默认为私有的。
    int length;
    int width;
    int height;
};        //注意这里有一个分号

void main()
{
    volume A;
    A.length = 1;
    A.width = 2;
    A.height = 3;
    cout "length = "  endl;
}

2 public与private

在定义一个类时,在类里需要定义变量与函数,在定义前需要说明属性,通过public、private、protected三个关键字申明。

如下程序所示,将public该为private,进行编译。

#include using namespace std;

class volume
{
private:
    int length;
    int width;
    int height;
};

void main()
{
    volume A;
    A.length = 1;
    A.width = 2;
    A.height = 3;
    cout "length = "  endl;
}

在编译过程中,程序报错,如下图所示。

error C2248: length : cannot access private member declared in class volume

私有成员不能直接使用成员访问符(.)来访问。

3 using namespace std;

在学习C++时,教材上的每一个例程都包含如下语句:

using namespace std;

这里namespace为命名空间关键字,std为一个命名空间,添加这条语句后,使用cout、cin输入输出语句比较方便。

当把这条语句注释后,进行编译。

#include //using namespace std;

class volume
{
public:
    int length;
    int width;
    int height;
};

void main()
{
    volume A;
    A.length = 1;
    A.width = 2;
    A.height = 3;
    cout "length = "  endl;
}

在编译过程中,程序报错,提示如下:

error C2065: cout : undeclared identifier
error C2065: endl : undeclared identifier

cout与endl是没有说明的关键字。解决的方法是在cout与endl前加上相应的命名空间,如下所示。

std::cout "length = " 

为了简便,直接在程序开头加上如下语句即可。

using namespace std;

4 cout与cin

cin是输入语句,与 >> 配合使用,如下所示。

volume A;
cin >> A.length;

cout是输出语句,与

cout "length = " 

其中endl是换行的意思。

5 int main(int argc, char* argv[])

char* argbv[]形参解析:

首先类型为一个指针,指向字符的指针;

然后变量不是一个,而是一个数组,数组里存放的都是指向字符的指针。

如下是一个测试程序:

#include using namespace std;

void test(char* argv[])
{
    char A[]= "hello";
    char B[] = "world";
    argv[0] = A;    //数组名相当于一个指针
    argv[1] = B;
    cout 0])  endl;
    cout 1])  endl;
}

void main()
{
    char * c[2];
    test(c);
}

输出结果如下:

hello
world
Press any key to continue

6 参考

面向过程和面向对象区别

https://www.bilibili.com/video/BV11J41157TJ

C++ 菜鸟教程

https://www.runoob.com/cplusplus/cpp-classes-objects.html

重学C++[Modern C++]:namespace 详解

https://www.bilibili.com/video/BV1ZE41147mj?from=search&seid=15370591080568859981

C++语法学习记录

标签:类型   mes   protect   can   编程语言   个数   col   变量   tin   

原文地址:https://www.cnblogs.com/QQ2962269558/p/12923785.html


评论


亲,登录后才可以留言!