GeekBand C++开发工程师第一周学习笔记

之前学校开C++课程的时候,只是笼统的大概讲了一下C++的一些基本语法,但都是很浅的知识。极客班的课程还能深入讲解标准库的东西,确实是课堂上学不到的。

学习C++分为语言部分和标准库的部分,在学好语言的时候,还要学习一些标准库的东西。如果作为一名C++的工程师,不会标准库的话,是没有竞争力的。所以,老师推荐的《C++ Primer》我也买来看了,确实写的很好,不愧是百科级别的书籍,但里面的很多C++11标准的一些代码,目前我的编译器还暂时识别不了。

C++代码的基本形式:

头文件:.h    (自己写的头文件是双引号)

程序部分:.cpp

C语言时代,头文件是 stdio.h 或者 cstdio,输入输出用scanf和printf,写的时候可能会少符号

C++语言时代:iostream    输入输出方便许多,cin>>和cout<<

编写自己的头文件:

#ifndef 头文件名(大写)

#define     同上

#include

1.前置声明

2.类声明

3.类定义

#endif

class + 类名

{

数据成员定义在私有private里

成员函数定义在公有里,绝大多数函数都放在public里

公有和私有顺序可以交错

};

模板:

template//T为模板名

private:

T re,im;

complex c1(2.5,1.5);

complex c2(2,6);

内联函数:

在函数内部定义的是隐式内联函数

外部定义内联函数需加上 inline

inline const string & shorterString(const string &s1, const string &s2)

{

return s1.size() <= s2.size() ? s1 :  s2 ;

}

创建对象会调用其构造函数

complex c1(2,1);

cout<< c1.real();

cout<< c2.imag();

不能通过对象调用私有成员

数据一定要被自己内部的函数传递出去,不能被外部的函数访问

函数如果要被外界调用的,放在公有里

函数只是做内部的处理,可以作为私有

构造函数:

函数名称与类名一致

可以用于参数

参数(实参)指定默认值

没有返回类型

利用构造函数的特殊用法:初始化形参

构造函数可以有很多个

构造函数在参数不确定但又重载的情况下,会编译错误

double reaal() const { return re;  }//不会改变数据的,加上const

参数传递值时,尽量以传递引用(by reference)的方式更高效快捷方便

传递过去的时候,不希望对方改,这时要加const

友元函数:

相同的一个类内的各个部分互为友元

数据一定放在私有里

参数尽可能以引用来传

返回值也尽量以引用来传

在类的本体里的函数,应该加const的就加

构造函数特殊语法

你可能感兴趣的:(GeekBand C++开发工程师第一周学习笔记)