首先来张图片:
本周主要内容涉及:
-- 初识c++
-- 头文件与类的声明
-- 构造函数
-- 参数传递与返回值
-- 操作符重载与临时对象
基础部分:
课程目标:
培养正规、大气的编程习惯。
学习classes之间的关系(继承、复合、委托)。
class without pointer members(例如Complex)||class with pointer members(例如String).
c++不同于c,它是面向对象(object)的编程语言(oop)。
object based基于对象 面对的是单一class的设计
object oriented面向对象 面对的是多重classes的设计,classes和classes之间的关系。
*在c++中使用c: #include<cstdio>//不用加.h
开始编程:
头文件:
要加防卫式声明guard:
#ifndef _COMPLEX_
#define _COMPLEX_
.....
#endif
头文件布局:
模板template:
若class想只换数据类型就可以使用模板
内联函数inline:
函数若在class body内定义完成,便自动成为inline候选人
若有double real() const(return re;),打印出的是c1.real(),不是c1.re。
构造函数constructor:
注意,public内:
形式:complex(double r=0,double i=0)
:re(r),im(i);
{}
构造函数可以有很多个——重载overloading:
注意this指针的使用。
注意public中的const要加。
4点关键:
数据一定放在private里
参数尽可能以reference传(const看状况)
返回值也尽量以reference传
在类的本体内应该加const就加
构造函数那一行(关乎数据的初始化)
相同class的objects互为friends