市面上优秀的C++ 入门书籍很多,但是多数都是从基本的编程开始讲,前面几个章节的都是些不必要的内容,因为C++ 是很不适合作为编程的入门语言,要学C++ 一般都有一些其他语言的基础。现在就在有C语言的前提下来学C++ 。
先来一个代码
#include <iostream>
using namespace std;
class person
{
char name[30];
int arge;
public :
void getdate(void);
void display(void);
};
void person::getdate(void)
{
cout<<"Enter name :"<<endl;
cin>>name;
cout<<"Enter arg :"<<endl;
cin>>arge;
}
void person ::display(void)
{
cout<<"\n name :"<<name<<endl;
cout<<"arg :"<<arge<<endl;
}
int main(int argc, char *argv[])
{
person p;
p.getdate();
p.display();
return 0;
}
从例子中 看看 C++ 的基本概念
从例程里面可以看到,只要有C的基础,大概都能看懂了,头文件的包含,变量的申请,函数的传参,那个 class person 有点像C语言的结构体,struct 。这两个有什么关系,有什么区别,先不管这些细节。先知道这个玩意儿是个什么东西,有什么用。
**1 类和对象**
在程序里,定义了一个 person 的类,这个类定义了两个基本的数据成员,和两个成员函数函数,
在主函数里,声明了一个 person 类的变量。
又有类变量就是对象的一说,所以P 就是 person类型的对象,
类对象用于调用类中定义的函数。
**2 输入输出符**
cout : 读作 C +out,是预定义对象,表示C++的输出流,一般设为屏幕。
<< :插入或者输出符号,他是将右端的内容插到左端的对象里。关于这个
符号的另一个用法就是“左移”。同一个符号在不同的场景里有不同的意
义,这就是C++ 里面的操作符**重载**的体现。是**多态**里很重要
的内容。
cin : 类似于cout,
>> : 提取和输入符号。类似于>> 不在啰嗦
**3 命名空间**
代码的开始有一句
using namespace std;
看着像c语言中的一个变量申请。这又是C++ 相比C另外一个不同点
所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所
有标识符都被定义于一个名为std的namespace中。
这里又要要说出一个细节,<iostream>和<iostream.h>是不一样,前
者没有后缀,实际上,二者是两个文件,里面的代码是不一样的。**这里牵扯
到C++ 的一些文件包含和指标识符的各种可见范围**,先大概知道这些。在这里,
先知道有这个回事。具体是什么用到是时候再说。
**4 换行符 endl**
在ASCALL 表中有'\n'和'\r',两个符号,换行回车。具体内容自行百度。
endl在输出的时候刷新缓冲区,'\n'只是换行,不刷新缓冲区。
C++一个简单的入门的编程就先这样。我是边学边写这些,写基本没有深度,很多的概念的细节也没有说清楚,还有可能错误,但是我觉得学习还是用已知推测未知,大胆的假设,小心的求证,这样不但可以让新的知识很快的融入到自己的知识体系里,而且可以很清晰的发现类比两方的区别,对旧知识的理解又上了一个高度。