【C++面向对象程序设计(第2版)】第一天小结

文章链接:https://blog.csdn.net/q_z_r_s

机器感知

一个专注于SLAM、机器视觉、Linux 等相关技术文章分享的公众号
 

 

类内成员变量访问属性:

  • private:
  •     只可在所定义的类内访问,类的实例,即类外不可访问;派生类的成员函数在类内也不可访问。
  • public:
  •     随意访问,没有限制。
  • protected:
  •     派生类成员函数可以在类内访问,类外也不可访问。

细节问题:

  • 类内声明函数并实现,默认情况下是inline的。
  • 同一个类定义多个对象时,每个对象占用的存储空间只取决于该类中数据成员所占用的空间,类中函数的代码是共用的,只有一份。之所以访问相同的代码,成员函数输出不同的结果,原因是,C++中有一个this指针,用来指向不同的对象,当对象调用成员函数时,this指针就指向调用它的对象,即访问调用者的数据。
  • 当子类继承了父类之后,如果父类没有使用构造函数,那么子类就也必须写一个构造函数,即使是空也要写,例如
class father {
    ...
    father(...){}
    ...
}

class son : father{
    ...
    son : father(传入实参) {可以为空}
    ...
}
  • 带参数构造函数在定义对象时必须给定参数,例如
   father obj(...);
  • 另一种参数初始化构造函数写法如下:
father :: father(type val1, tpye val2 ...): var1(val1),var2

(val2)...{}
  • 一般形式如下:
类名::构造函数名([参数表])[:成员初始化表]
{
    [构造函数体]
}
  • 无需给出实参的构造函数称为默认构造函数,一个类只能有一个默认构造函数(default constructor),如果用户未定义,则系统自动提供一个默认构造函数,即空的构造函数。
  • 如果希望各对象中的某个数据成员称为同类各个对象共享,只需在此数据成员前添加static关键字即可。其初始化须在main函数外层初始化。加了static前缀的函数称为静态函数,对其访问使用classname::func,static修饰的变量函数有一种全局感觉。因为静态函数没有this指针,所以无法访问非静态成员。static成员和方法是单独存放的。
  • 派生类的构造函数,只需写出其上一层派生类的构造函数即可,上上层的有上层来解决,此派生类不用关心。

 

C++程序设计 扫描,谭浩强编著,清华大学出社,2004年6月第一。 注意:其他两卷在本网页下面我的其它资源里可以找到 内容简介 C++是近年来国内外广泛使用的现代计算机语言,它既支持面向过程的程序设计,也支持基于对象和面问对象的程序设计。国内许多高校已陆续开设了C++程序设计课程。但是由于C++涉及概念很多,语法比较复杂,内容十分广泛使不少人感到学习难度较大,难以人门。 本书作者深入调查了我国大学的程序设计课程的现状和发展趋势参阅了国内外数十种有关C++的教材,认真分析了学习者在学习过程中遇到的困难,研究了初学者的认识规律。在本书中做到准确定位,合理取舍内容,设计了读者易于学习的教材体系,并且以通俗易懂的语言化解了许多复杂的概念,大大减少了初学者学习C++的困难。 考虑到许多读者在学习C++前未学过其他语言本书把入门起点降低,读者不需要具备C语言的基础。本书包括14章,分为4 篇:基本知识面向过程的程序设计;基于对象的程序设计面向对象程序设计。本书内容全面,例题丰富,概念清晰,循序渐进,易于学习。 本书是依据ANSI C++标准进行介绍的,引导读者从开始就按标准C++的规定编程。本书配有两本辅导教材,即《C++程序设计题解与上机指导》 和《C++编程实践指导》。 本书是大学各专业学生学习C++的基础教材,也是适于初学者学习的教材。即使没有教师讲授,读者也能看懂本书的大都分内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值