定义C++类对象的方法

Posted LC编程开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定义C++类对象的方法相关的知识,希望对你有一定的参考价值。

定义C++类对象的方法

       我们学习了类的定义,与C语言的struct结构体类型定义差不多。那么,C语言可以使用struct结构体类型来定义对象,那么,C++同样可以使用类来定义对象。

       C++使用类来定义对象也可以有几种方法。

(1) 先声明类类型,然后再定义对象

例如:

//定义student;

class student //class 开头

{

public:

//定义成员变量

    char name[32]; //姓名

    char addr[32]; //家庭地址

    long long number; //电话号码

public:

//定义成员函数

    void print()    //输出成员的信息

    {

        cout << "name = " << name << endl;

        cout << "addr = " << addr << endl;

        cout << "number = " << number << endl;

    }

};

student stud1, stud2;   //定义了两个student类的对象stud1和stud2

可以看到,定义了一个student类,然后,使用student类来定义了stud1和stud2这两个对象。

在C++中,在声明了类类型后,定义对象有两种形式。

(A) class 类名 对象名

例如:

class student stud1, stud2;

把class和student合起来作为一个类名,用来定义对象。如同C语言的struct结构体类型一样,需要携带 struct 关键字来定义结构体对象。

(B) 类名 对象名

例如:

student stud1, stud2;

       直接用类名定义对象,这两种方法是等效的。第一种方法是从C语言继承下来的,第二种方法是C++的特色,显然第二种方法更为简洁、方便。

       如果是定义指针类型的对象,定义方法如同C语言的struct结构体一样。如下:

类名* 指针对象名;

       通过指针运算符“*”来定义一个指针对象。

(2) 在声明类类型的同时定义对象

       在定义class类的时候,在定义类的末尾,定义类对象。

//定义student;

class student //class 开头

{

public: //定义成员变量

    char name[32]; //姓名

    char addr[32]; //家庭地址

    long long number; //电话号码

public: //定义成员函数

    void print()    //输出成员的信息

    {

        cout << "name = " << name << endl;

        cout << "addr = " << addr << endl;

        cout << "number = " << number << endl;

    }

} stud1, stud2; //定义了两个student类的对象stud1和stud2

       可以看到,在定义student类的末尾,定义了stud1和stud2对象。这种方式,C语言的struct类型也支持。

(3) 定义匿名类,不出现类名,直接定义对象

       在定义类的时候,在class关键字后面,没有定义类名。如下:

class      //没有类名

{

public: //定义成员变量

    char name[32]; //姓名

    char addr[32]; //家庭地址

    long long number; //电话号码

public: //定义成员函数

    void print()    //输出成员的信息

    {

        cout << "name = " << name << endl;

        cout << "addr = " << addr << endl;

        cout << "number = " << number << endl;

    }

} stud1, stud2; //定义了两个类的对象stud1和stud2

       此时,定义一个匿名类。就是没有类名的类。定义匿名类的同时,定义匿名类对象。

       定义匿名类,在C++中是合法的,允许的,但却很少用,也不提倡用。因为在面向对象程序设计和C++程序中,类的声明和类的使用是分开的,类并不只为一个程序服务,人们常把一些常用的功能封装成类,并放在类库中。因此,在实际的程序开发中,一般都采用上面3种方法中的第一种方法。在小型程序中或所声明的类只用于本程序时,也可以用第二种方法。

       在定义一个对象的时候,编译系统会为这个对象分配存储空间,用来存放对象中的成员。

韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip

以上是关于定义C++类对象的方法的主要内容,如果未能解决你的问题,请参考以下文章

C++大纲及疑惑点三

C++大纲及疑惑点三

C++大纲及疑惑点三

C++通过其派生类对象调用公共父类方法

C++类和对象

C++中关于类对象的初始化问题