c++课程学习总结1

总结

1.递归:
递归算法。是程序直接或间接调用自身的一个编程技巧,关键的找到递归定义和递归终止的条件。
2.结构体
定义方法:struct 结构体类型名 变量名列表;
struct 类型名{
数据类型1 成员名1;
数据类型2 成员名2;

}变量名;
3.指针
定义:类型 指针变量,定义时要初始化。
访问:直接访问:定义变量,通过变量名直接访问;
间接访问:根据地址访问。
一个变量的地址为指针;一个存放别的变量地址的变量叫做指针变量;指针变量的值就是指针(即地址)。
指针变量:声明: * 指示后面的变量是指针变量,且其基类型是前面的类型。
使用: * 运算符,把地址转向所指向的变量。
赋值: 赋给指针的变量一定是地址,而不能是其他数据类型。
给指针变量赋值:1直接赋值 p=&a;2 引用赋值 如果*p=1;之前必须p=&a;否则会
因为不知道地址而有可能会占用有用的地址。
传递:值传递,址传递(不能改变原值);
*地址传递(可以改变原值)。
通过指针引用数组:
1 数组元素的指针就是数组元素的地址。
2 引用数组可以用下表法,也可以用指针法。
3 数组名(不包括形参的数组名)可以与首元素地址等价。即 int * p;p=a或p=&a[0];
4 指针法 *(a+i) *(p+i);这两者都是指向a[i];
用数组名做函数参数: 形参数组的值发生变化,实参也发生变化(注意:形参的值指的是指针的值而不是地址)。
4.类和对象
1.类
定义:
类是对具有相同属性和行为的一类客观事物的概括描述。是用户自定义的数据类型。
类的定义包括行为和属性两个部分。属性以数据表示,行为通过函数实现。
class 类名
{
public:
//公有数据成员和成员函数
protected:
//保护数据成员和成员函数
private:
//私有数据成员和成员函数
};
类的数据成员可以是其他类的对象,但不能以类自身的对象作为本类的成员,而类自身的指针和引用可以作为类的成员。
2.成员函数
类的成员函数操作的内容:数据成员 函数内定义的局部变量(形参)全局变量
类的成员函数通过操作数据成员来实现。
成员函数可以重载:
函数重载:函数名相同,但参数不相同(类型不同,或者个数不同)的一组函数。
编译器根据不同参数的类型和个数产生调用匹配。函数重载用于处理不同数据类型的类似任务 。
3.对象
对象是类的实例或实体。
【注意】在类的定义中不能对数据成员进行初始化;操作需要从外部引入数据----加形参;通过对象调用成员来引用类;一个类的成员可以有另一个类的对象。
4.构造函数
构造函数是用于创建对象的特殊的成员函数, 当创建对象时,系统自动调用构造函数;
构造函数的作用是: 为对象分配空间;对数据成员赋初值;请求其他资源;
用户没有定义的构造函数时,系统自动提供缺省版本的构造函数;
构造函数名与类名相同:类名;
构造函数可以重载;
构造函数可以有任意类型的参数,但没有返回类型。
利用构造函数创建对象:类名 指针变量 = new 类名[(实参表)];
使用构造函数的初始化列表进行初始化 :数据成员为常量;数据成员为引用类型;数据成员为没有无参构造函数的类的对象;
#include <iostrea
5.析构函数
析构函数是用于取消对象的成员函数,当一个对象作用结束时,系统自动调用析构函数;
析构函数的作用是进行对象消亡时的清理工作;
没有用户定义析构函数时,系统提供缺省版本的析构函数;
析构函数名为: ~ 类;
析构函数没有参数,也没有返回类型。
6.set成员函数
修改对象的数据成员值,可反复调用。
this指针——显示引用
(1)在类的非静态成员函数中返回类对象本身或对象的引用的时候,直接使用 return this,返回本对象的地址时,return this。
(2)当参数与成员变量名相同时,如this->x = x,不能写成x = x。
同名出现,作用域小的起作用。
(3)避免对同一对象进行赋值操作,判断两个对象是否相同时,使用this指针。
7.复制构造函数
语法形式
类名 :: 类名(const 类名 & 引用名 , …);
7.浅复制与深复制
浅复制:对于复杂类型的数据成员只复制了存储地址而没有复制存储内容
深复制:
通过一个对象初始化另一个对象时,不仅复制了数据成员,也复制了资源的复制方式称为深复制。定义:类名::类名([const] 类名 &对象名);
8.常成员
常数据成员是指数据成员在实例化被初始化后,其值不能改变
9.静态成员
类成员以static声明,静态数据成员是同类所有对象共有的。
静态函数只对静态数据成员进行操作。
10.友元函数
用friend 声明函数,此函数称为本类的友元函数
破坏了类的封装性
5.重载运算符
不能重载的运算符 . :: .
?: sizeof
运算符函数可以重载为成员函数或友元函数。c++中不能用友元函数重载的运算符有
“=” “()” “[ ]” “->”
重载赋值运算符
赋值运算符重载用于对象数据的复制
operator=必须重载为成员函数
重载函数原型为:
类名 & 类名 ::operator=(类名)
形参中对于双目来讲。只有一个参数,作为运算符右操作数对象做参数,一般采用引用方式,不采用传值。

感受

六周的学习,初步学习并了解了面向对象的程序设计的一些知识,通过课上学习,课下练习巩固知识,更深的理解并应用所学。起初觉得作业难度有点大,由于数据结构与Java课程这学期才开始学,刚开始的作业练习上手比较慢,不知如何实现一个完整的代码,随着不断的学习,已逐渐熟悉。我认为通过这段时间的学习,关键在于多实践,在上机练习中不断积累经验并加深对所学知识的掌握。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值