C++入门教程,C++基础教程(非常详细)

编程开发   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2020-12-14



C++ 读作“C加加”,是“C Plus Plus”的简称。顾名思义,C++ 是在C语言的基础上增加新特性,玩出了新花样,所以叫“C Plus Plus”,就像 iPhone 7S 和 iPhone 7、Win10 和 Win7 的关系。


从语法上看,C语言是 C++ 的一部分,C语言代码几乎不用修改就能够以 C++ 的方式编译,这给很多初学者带来了不小的困惑,学习 C++ 之前到底要不要先学习C语言呢?

我对这个问题保持中立,但是初学者直接学习 C++ 会非常吃力,Hold 不住,尤其是对计算机内存不太理解的情况下,C++ 是学不懂的。C++ 是一门灵活多变、特性丰富的语言,同时也意味着比较复杂,不易掌握。

不过可以明确地说:学了C语言就相当于学了 C++ 的一半,从C语言转向 C++ 时,不需要再从头开始,接着C语言往下学就可以,所以我强烈建议先学C语言再学 C++。

31楼
WD小旺仔 2020-12-14
C++类和对象到底是什么意思?
32楼
WD小旺仔 2020-12-14
C++ 是一门面向对象的编程语言,理解 C++,首先要理解类(Class)和对象(Object)这两个概念。
33楼
WD小旺仔 2020-12-14
C++ 中的类(Class)可以看做C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含若干成员变量,每个成员变量的类型可以不同;可以通过结构体来定义结构体变量,每个变量拥有相同的性质。例如:
#include
//定义结构体 Student
struct Student{
//结构体包含的成员变量
char *name;
int age;
float score;
};
//显示结构体的成员变量
void display(struct Student stu){
printf("%s的年龄是 %d,成绩是 %f\n", stu.name, stu.age, stu.score);
}
int main(){
struct Student stu1;
//为结构体的成员变量赋值
stu1.name = "小明";
stu1.age = 15;
stu1.score = 92.5;
//调用函数
display(stu1);
return 0;
}
34楼
WD小旺仔 2020-12-14
运行结果:
小明的年龄是 15,成绩是 92.500000
35楼
WD小旺仔 2020-12-14
C++ 中的类也是一种构造类型,但是进行了一些扩展,类的成员不但可以是变量,还可以是函数;通过类定义出来的变量也有特定的称呼,叫做“对象”。例如:
#include
//通过class关键字类定义类
class Student{
public:
//类包含的变量
char *name;
int age;
float score;
//类包含的函数
void say(){
printf("%s的年龄是 %d,成绩是 %f\n", name, age, score);
}
};
int main(){
//通过类来定义变量,即创建对象
class Student stu1; //也可以省略关键字class
//为类的成员变量赋值
stu1.name = "小明";
stu1.age = 15;
stu1.score = 92.5f;
//调用类的成员函数
stu1.say();
return 0;
}
36楼
WD小旺仔 2020-12-14
运行结果与上例相同。
对于熟悉 C++ 的读者,这段代码并不规范,请忽略这一细节,本节的重点是引入类和对象的概念。这套 C++ 教程是在C的基础上编写的,我并不希望一开始就提出过多的 C++ 概念,让读者吃不消,我希望读者从C逐渐过渡到 C++,从第二章开始编写规范的 C++ 代码。也就是说,包括本节在内,第一章有很多不规范的 C++ 代码,再次请熟悉 C++ 的读者忽略。
37楼
WD小旺仔 2020-12-14
class 和 public 都是 C++ 中的关键字,初学者请先忽略 public(后续会深入讲解),把注意力集中在 class 上。
38楼
WD小旺仔 2020-12-14
C语言中的 struct 只能包含变量,而 C++ 中的 class 除了可以包含变量,还可以包含函数。display() 是用来处理成员变量的函数,在C语言中,我们将它放在了 struct Student 外面,它和成员变量是分离的;而在 C++ 中,我们将它放在了 class Student 内部,使它和成员变量聚集在一起,看起来更像一个整体。
39楼
WD小旺仔 2020-12-14
‭@一只小天行ฅ ‬‬‬‭@【HK】小辞 ‬‬‬‭@【HK】汤姆 ‬‬‬‭@【KTZ】龙苏 ‬‬‬‭@【GTR】Fcch ‬‬‬
40楼
WD小旺仔 2020-12-14
‭@【TYJ】碎影 ‬‬‬‭@兰陵 笑笑生 ‬‬‬‭@【GTR】東陞ღ ‬‬‬‭@知心乐子ღ ‬‬‬‭@企鹅电竞最帅 ‬‬‬

评论

登录后才可发表内容
  • 主题

    10

  • 帖子

    2187

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0502s Mem:2117Kb