类和对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类和对象相关的知识,希望对你有一定的参考价值。
在c++的编程中最重要的就是类,通常编写一个关于类的程序,我们都把它分为三个部分:
- 关于类的原始声明,这是一个单独的文件,
且在这个文件中,只会涉及到类的函数声明与类的数据结构成员
此处需要使用之前提到过的一些技巧:
#ifndef class
#define class
Class Definitions
#endif
来避免重复包含头文件 - 在第二份文件中则是关于每个类函数的具体实现部分的内容,这样将每个函数的实现
与其定义部分分离,便于维护和修改。 - 关于这个类的实现的测试文件。
一般一个基本的类的结构为:
class CLASSNAME{
private:
datas ;
public:
functions ;
};
private中存放每个类对象的数据,而数据的修改与访问则是完全通过函数进行的。
注意:(1)在类外定义类函数需要加上类作用域运算符。
(2)在类中定义的函数则是自动升为内联函数。
(3)可以在函数前加上inline使得函数为内联的形式。
一些小的注意要点:
(1)构造函数不需要返回的声明,函数名与类名相同;
注意: 如果在构造函数上使用默认参数,则声明与实现上不能同时写默认参数,否则编译器
会报错。
(2)析构函数则是用来消除类对象所占有内存的一种巧妙的方式。
(3)this 指针指向的是类对象自己,在需要比较两个相同类时往往需要借助此this指针。
(4)在类函数后加上const表明此函数不可修改数据,同时在函数的定义与实现时的书写都需要
加上const,否则编译器会报错。
(5)如果是类对象的数组,那么则是需要和数组相同的方式初始化。
Stock stocks[STKS] = {
Stock("ITEM1",78378), // 利用构造函数
Stock("ITEM2",87387)
};
关于在类作用域中使用常量:
(1) 在类中使用enum数据结构,那么其成员即可在类中视为常量
(2) 使用static声明,在类中对数据使用static const声明则可视为类中公用的常量
以上是关于类和对象的主要内容,如果未能解决你的问题,请参考以下文章