C++对象成员的使用

Posted LC编程开发者

tags:

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

对象成员的使用

       在程序中经常需要访问对象中的成员,访问对象中的成员可以有三种方法:

(1) 通过对象名和成员运算符访问对象中的成员;

(2) 通过指向对象的指针访问对象中的成员;

(3) 通过对象的引用变量访问对象中的成员;

       C++中类对象引用成员的方式,与C语言的struct结构体访问成员一样。

3.1 通过对象名和成员运算符访问对象中的成员

       假设有如下的类定义:

class student       //class开头

{

public:

    char name[32];

    char addr[32];

    long long number;

public:

    void print();

};

void student::print()

{

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

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

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

}

student stud1, stud2;

在程序中可以写出如下的语句:

stud1.number = 1001;    //假设number 已定义为公用的成员

       表示将整数1001赋给对象stud1中的成员变量number,其中“.”是“成员运算符”,用来对成员进行限定,指明所访问的是哪一个对象中的成员。注意不能只写成员名而忽略对象名。

访问对象中成员的一般形式为:

对象名.成员名

       不仅可以在类外引用对象的公用成员变量,而且,还可以调用对象的公用成员函数,同样,需要指出对象名,如:

stud1.print();  //正确,调用对象stud1的公用成员函数

print();        //没有指明是哪一个对象的print()函数

       对于 print() 没有指明对象名,编译时把print()作为普通函数处理。如下是一个程序测试例子:

       程序运行结果如下:

       可以看到,定义了student类,然后,定义对象如下:

student stud;

       然后,给对象的成员变量赋值。在访问成员变量的时候,在对象名后面使用点号“.”来访问对象的某个成员。

       注意,在类体外访问的成员,需要定义为public类型,才可以在类体外访问。

3.2 通过指向对象的指针访问对象中的成员

       可以通过指针访问对象中的成员,如果有以下程序段:

 

       程序运行结果如下:

 

       可以看到,定义一个指针对象p,同时,给它赋值,如下:

student *ps = &stud;

       然后,通过指针对象访问对象的成员,如同C语言的struct结构体访问结构体成员一样,通过指针运算符“->”来访问对象的成员。所以,有:

ps->name ---   访问指针对象ps的name成员变量;

ps->addr  ---   访问指针对象ps的addr成员变量;

ps->print()      ---   访问指针对象ps的print成员函数;

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

以上是关于C++对象成员的使用的主要内容,如果未能解决你的问题,请参考以下文章

使用 SWIG 包装调用另一个对象成员函数的 C++ 类

C++之对象成员指针

C++ - 使用 std::list,如何打印对象私有成员的链表?

在 C++ 中使用非默认构造函数初始化对象的成员类

卸载 appdomain 不会清除 C++ COM 对象静态成员

C++面向对象:静态成员和静态成员函数