C++:类和对象1
1.引入
C++与Java不同,不是纯面向对象的语言,是基于面向对象的语言,因为它兼容c,喜欢混着对象和过程写Java是纯面向对象的语言,就基本上是类。
如果是面向对象的语言就基本上是类,而面向过程的语言就是一个个函数。
C++第一个类的引入就是把结构体升级了。
struct Stack
{
int*a;
int top;
int capacity;
};
可以说这个是结构体,也可以说它是类,因为C++兼容c语言,所以结构体可以继续使用,而类,是C++产生的。表现为:
int main()
{
struct Stack st;
Stack st1;
}
这两种定义方法都是对的,当做类看时Stack是其类名,类名可以做类型,所以C++不喜欢直接使用typedef,除此之外,C++还有个好处,就是可以定义成员函数。
struct Stack
{
void Init();
int*a;
int top;
int capacity;
};
不过C++定义类更喜欢用class来,后面我们会介绍struct与class的区别。
2.类的定义
class classname
{
//类体,由成员函数和成员变量组成
};//注意有分号,这个和结构体相同
class为定义类的关键字,classname为类的名字,{}中为类的主体,着重注意类后面的分号不能省略。类体中的内容称为类的成员,类中的变量称为类的成员变量或者类的属性,类中的函数称为类的方法或者成员函数。
类的两种定义方法:
1.声明和定义放在一起:
class person
{
public:
void show()
{
print("gohoihojo");
}
public:
int a;
int num;
char name;
}
方法如果直接在类里面定义默认就是内联。
2.声明与定义分离:
声明:
在一个.h文件中
class person
{
public:
void show();
public:
int a;
int num;