c++学习笔记 一(geekband)

c++programs的代码基本形式

1.头文件(功能模块的声明)

2主函数

3其他函数的定义


头文件中的防卫式声明

当我们使用#include包含.h文件是,为了避免出现重复定义的现象,比如在头文件中定义了一个类,如果在把头文件包含到一个定义了与他相同类的.cpp的文件中,那么就会由于重复定义出现编译错误。所以防卫式声明是十分的有必要。形式如下

#ifndef HEAD_H(大写不是必须的)

#define HEAD_H

......

#endif


inline(内联)函数

与预处理类似,在编译期间直接计算出结果,但是是否是一个内联函数取决于编译器,一般比较简单的函数都可以实现内联。

访问级别

public   类的外部接口

private   只可以由本类成员访问,外部访问非法

protect  与私有相似,区别在于继承


friend友元

改变访问级别,使得外部函数也可访问类类型对象的所以数据和功能

void friend  comple();

所以可以说class的各个函数互为friend函数


构造函数

与内置类型的初始化相似,由类定义的类类型,构造函数决定了类类型对象的初始化方式。

无返回值,支持默认参数的初始化,重载,内联

注意:若定义了参数及其类型相同的两个构造函数,一个有默认值一个没有,这种情况是未定义的,因为编译器将这两个函数视为相同的。

私有构造函数

因为是私有成员所以不能被外部访问,但可以在内部定义对象,如果将其定义为static,那么就可以得到一个单对象。

常成员函数

在成员函数的参数表后面加const(顶层const)(数据只读)

1.常成员函数不能更新对象的数据成员

2.当一个对象被声明为常对象,则不能通过该对象调用该类中的非const成员函数

传值 与 传参

传值相当与拷贝一份备份

传参相当于传递一个指针

操作符的重载

成员函数:对于一个2元操作符来说的重载函数直接一个参数,左边是参数是默认的为其类类型对象,右边参数是操作是另一个对象,

非成员函数:对于2个操作数的重载函数要两个参数,不可以重载内置类型的操作符重载。

临时对象

typname()

如果没被保存,执行完这条语句就将消失。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,540评论 1 51
  • C++文件 例:从文件income. in中读入收入直到文件结束,并将收入和税金输出到文件tax. out。 检查...
    SeanC52111阅读 2,857评论 0 3
  • 第一天 一.内联函数(inline) 函数调用的时候需要建立栈内存环境,进行参数传递,并产生程序执行转移,这些工作...
    陈果123阅读 1,145评论 0 1
  • 两天时间→两本书→第一份视觉笔记
    Cindy118125阅读 279评论 0 0
  • 火车篇 这是儿子第一次乘火车旅行,上车不久,他就体验到了火车的"方便面,火腿,矿泉水,饮料",我问他还有什么,他正...
    风吹来一阵花香阅读 144评论 0 3