版权声明:欢迎分享(指明出处),若有错误还请指正!!! 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++的特色);