说起C++,大家会觉得作为商业开发面向对象编程的鼻祖语言,已经成为当今主流程序设计语言中最复杂的一员。
其复杂性体现在:面向对象的语法、思想以及相关知识点。
一:类和对象
关于类和对象大家其实并不陌生,先看一个例子。
int a;
这里 int 就是整形数据类,a是int类声明的一个对象。
可见,我们平常就用到了类和对象。再看类的方法。
string a("abc");
a.length();
这里的.length(),就是用到了string类的length()这个方法。
再看一个完整的链表类定义的例子:
class Node
{
public:
int readi() const;//常成员函数,无法改变成员数据
int readc() const;//常成员函数,无法改变成员数据
bool set(int i);
bool set(char c);
bool setp(Node *p);
bool setn(Node *n);
void init(int i,char c);
private:
int idata;
char cdata;
Node *prior;
Node *next;
};
int Node::readi() const
{
return idata;
}
char Node::readc() const
{
return cdata;
}
bool Node::set(int i)
{
idata=i;
return true;
}
bool Node::set(char c)
{
cdata=c;
return true;
}
bool Node::setp(Node *p)
{
prior=p;
return true;
}
bool Node::setn(Node *n)
{
next=n;
return true;
}
void Node::init(int i,char c)//初始化函数
{
idata=i;
cdata=c;
prior=NULL;
next=NULL;
}
Node类定义了7个公共成员函数(包含对象初始化函数),4个私有成员数据。
::是类作用域符号,::后面为函数名,::前面为该函数所属哪个类。