c++面向对象高级编程 第一周学习笔记

发布时间:2019-07-04 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了c++面向对象高级编程 第一周学习笔记脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

object based vs object oriented

基于对象 Object based:面对单一class的设计
面向对象 Object oriented:面对多重classes之间的设计,classes与classes之间的关系。
classes两个经典分类:有指针vs无指针

c++代码基本形式

头文件classes声明+main函数+c++标准库

头文件的卫式声明

#ifndef 
#define
...
#endif

头文件布局

前置声明
类声明
类定义

inline函数

函数若在class内定义则自动inline函数候选人
若在class外定义需要前面添加关键字inline,但是是否真正成为内联函数需要由编译器决定。

访问级别

定义在Public说明符之后的成员在整个程序内可被访问,public成员定义类的接口。
定义在PRivate说明符之后的成员可以被类的成员函数访问,但是不能被使用该类的代码访问,private部分封装了类的实现细节

构造函数

每个类都分别定义了他的对象被初始化的方式,类通过一个或几个特殊的成员函数来控制对象的初始化过程,这些函数叫做构造函数。
一个类可以有多个构造函数(重载)对应不同的初始化方式。

//构造函数默认初始化方式
class complex
{
private:
double re;
double im;
}
complex(double r=0,double i=0): re(r), im(i) {}
//构造函数初始值列表初始化

friend友元函数

类可以允许其它类或者函数访问它的非公有成员,方法是令其他类或者函数成为它的友元。如果类想把一个函数作为它的友元,只需要增加一条以friend关键字开始函数声明即可。

参数传递与返回值

值传递与引用传递
值传递 double real() const{return re;}
引用传递 complex& operator+=(const complex&);
local object 必须传值,因为离开作用域后local object将被析构

常量成员函数

一个成员函数在其中不能修改对象的普通(即既不是static也不是mutable)数据成员。const成员的this指针是指向常量的指针,通过区分函数是否是const可以进行重载

操作符重载

data1+data2;/普通表达式
oPErator+(data1,data2);

当一个重载运算符是成员函数时,this指针绑定到左侧运算对象。成员运算符函数的参数数量比运算对象的数量少一个。
不能被重载的运算符:
:: .* . ?:

脚本宝典总结

以上是脚本宝典为你收集整理的c++面向对象高级编程 第一周学习笔记全部内容,希望文章能够帮你解决c++面向对象高级编程 第一周学习笔记所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。