C++语法笔记 – 类与对象
本文由发表于6年前 | C++ | 暂无评论 |  被围观 4,011 views+

类的定义:
class 类名
{
	public:
		外部接口
	protected:
		保护型成员
	private:
	私有成员
};
类的成员函数:


声明和实现:

函数原型的声明要写在类体中,原型说明了函数的参数表和返回值类型,而函数的具体实现写在类之外。具体的实现形式:

返回值类型 类名::函数成员名(参数表)   //可带默认新参,在类的声明中给出
{
	函数体
}
内联成员函数:

隐式声明:在类中实现

显示声明:在类中跟其他函数一样声明,在类外定义时,使用inline关键词:

inline void Clock :: showTime(){}
构造函数:

如果类中没有写构造函数则编译器会自动声明默认的构造函数,如果声明了构造函数,则不再自动生成。

对象所占据的内存空间只是用于存放数据成员,函数成员不在每一个对象中存储副本。

复制构造函数:

复制构造函数是一种特殊的构造函数,具有一般构造函数的所有特性,其形参时本类的对象的引用。其作用是使用一个已经存在的对象(由拷贝构造函数的参数指定)去初始化同类的一个新对象。

如果没有定义类的复制构造函数,系统就会在必要时自动生成一个默认的赋值构造函数,这个构造函数把初始对象的每个数据成员的值都复制到新建立的对象中。

class Point{
	public:
		Point(Point &p);
};
Point :: point(Point &p){}


复制构造函数被调用的三种情况:

用类的一个对象去初始化该类的另一个对象:Point A(1,2); Point B(A);
调用函数时,进行形参和实参结合时:Point A(); f(A);
函数的返回值时类的对象,函数执行完成后返回调用者时
析构函数:

析构函数用来完成对象被删除前的一些清理工作,析构函数在对象的生存期即将结束的时刻被自动调用的。

析构函数不接受任何参数,但可以时虚函数。

一般来说如果希望程序在对象被删除之前的时刻自动完成某些事情而不需要借助调用函数,就可以把它们写到析构函数中。

类的组合:

类的组合就是一个类内嵌套其他类的对象最为成员的情况,它们之间的关系是一种包含与被包含的关系。

组合类构造函数定义的一般形式:(使用初始化列表)

类名 :: 类名(形参表) : 内嵌对象1(形参表), 内嵌对象2(形参表),…
Line :: Line(Point xp1, Point xp2) : p1(xp1), p2(xp2){}
前向引用声明:

是在引用未定义的累之前,将该类的名字告诉编译器,使编译器知道那是一个类名。

当使用前向引用声明时,只能使用被声明的符号(如作为函数的参数),而不能设计类的任何细节。

除了文章中有特别说明,均为IT宅原创文章,转载请以链接形式注明出处。
本文链接:http://www.itzhai.com/c-syntax-notes-classes-and-objects.html
关键字: , , ,
arthinking Java技术交流群:280755654,入门群:428693174 more
分享到:
 
2011 9/3
如果您有更好的原创技术博文或者观点,欢迎投稿:admin@itzhai.com,或者关注订阅左侧浮动面板的微信号订阅IT宅itread)发送消息。
C++推荐专题
C++
文章评论
    没有评论
给我留言

有人回复时邮件通知我
C++的相关文章
随机文章 本月热门 热评
1 Java笔记 – 反射 动态代理 2013/12/25
2 JavaScript设计模式笔记 – 观察者模式 命令模式 2012/12/27
3 JVM笔记 – 自动内存管理机制(虚拟机性能监控与故障处理工具) 2014/11/26
4 JVM笔记 – 程序编译与代码优化(晚期(运行期)优化) 2015/3/1
5 Java基础笔记 – static与final关键字及其编写细节提示 2011/10/26
6 软件项目管理-进度计划 质量保证 CMM 2011/7/1
友情推荐 更多
破博客 文官洗碗安天下,武将打怪定乾坤。多么美好的年代,思之令人泪落。
Mr.5's Life 白天是一名程序员,晚上就是个有抱负的探索者
行知-追寻技术之美 关注大数据,分布式系统
我爱编程 编程成长轨迹
Cynthia's Blog 学习笔记 知识总结 思考感悟
 
猜您喜欢
欢迎关注我的公众号 IT宅
关于IT宅 文章归档

IT宅中的文章除了标题注明转载或有特别说明的文章,均为IT宅的技术知识总结,学习笔记或随笔。如果喜欢,请使用文章下面提供的分享组件。转载请注明出处并加入文章的原链接。 感谢大家的支持。

联系我们:admin@itzhai.com

Theme by arthinking. Copyright © 2011-2015 IT宅.com 保留所有权利.