类(class)与对象(object)

版权声明:欢迎分享(指明出处),若有错误还请指正!!! https://blog.csdn.net/zj19941201/article/details/78983848

1.类与对象的关系及类的声明:

1.类是对象的抽象,而对象是类的具体实例(instance)。

2.类是对象的类型,代表了某一批对象的共性与特征。(可以说类是对象的模板)。而类是抽象的,不占用系统内存,但对象时具体的,占用存储空间。

3.如c语言中结构体类型和结构体变量关系一样,人们先声明一个结构体类型,然后用结构体去定义结构体变量。

//二叉链表结构体声明
typedef struct btnode{
elemtype data;
struct btnode *left,*right;
}*btree,btnode;
//二叉链表结点定义(即结构体变量)
btree T;
//or
btnode *T;
c++中也是先声明一个类类型,然后用它去定义若干个对象。
#ifndef __MYCOMPLEX__
#define __MYCOMPLEX__

//类类型的声明
class complex          //类头(class head)   //class 为声明类的关键字
 {                    // 类体(class body)
public:
    complex (double r=0,double i=0):re (r) , im (i) { }//初值列
    complex& operator += (const complex&);
    complex& operator -= (const complex&);        //成员函数
    complex& operator *= (const complex&);
    complex& operator /= (const complex&);
    double real() const {return re;}
    double imag() const {return im;}
private:
    double re,im;
    friend complex& __doami (complex *, const complex&);//友元函数  ; friend为友元函数的关键字
    friend complex& __doaml (complex *, const complex&);
    friend complex& __doapl (complex *, const complex&);
    friend complex& __doams (complex *, const complex&);
};//class complex

#endif

//对象的定义
complex c1(1,2);
complex c2(4,0);
complex c3;

声明类的一般形式:
class 类名
{  private:
           私有的数据和成员函数
   public:
           公用的数据和成员函数
 };
private和public成为成员访问限定符(member access specifier),除这两者外还有一种成员访问限定符protected,它不能被类外访问(这点和private类似),但可以被派生类成员函数访问。

注意:假若在累的定义中既不指定private,也不指定public,则系统就默认为是private。
 

2.定义对象的方法:

c++中,在声明了类后,定义对象有两种形式:

class complex c1(继承自c语言) == complex c1(c++的特色);



猜你喜欢

转载自blog.csdn.net/zj19941201/article/details/78983848