- 前言
- 一、定义一个类
- 二、堆空间创建类对象
- 总结
前言
我们从这一节开始就开始学习C++的一大特色“类”了,可能内容会比较多,我们开始吧!加油
一、定义一个类
1、定义类
class 类名{
类成员属性:public、private、protected
};
2、创建类对象
类名 对象名;
3、使用类对象的成员
对象名.方法;
我们来举一个简单的例子吧:
#includeusing namespace std; class student{ public: void fun() { cout<<"test test test"< student lishuo; lishuo.fun(); }
输出:
test test test
示例2:
#include#include using namespace std; class student{ public: string name; int age; void setname(string n) { name = n; } void setage(int a) { age = a; } void fun() { cout< student lishuo; lishuo.setname("lishuo"); lishuo.setage(18); lishuo.fun(); }
示例3,利用类输入特定样式的特定二维数组:
#include#include using namespace std; class student{ public: int arr[3][4]; void init() { for(int i = 0;i < 3;i++) { for(int j = 0;j < 4;j++) { arr[i][j] = i+j; cout< for(int i = 0;i < 3;i++) { for(int j = 0;j < 4;j++) { arr[i][j] = i + j; if(j < 3) { cout< cout< student lishuo; lishuo.init(); lishuo.init1('#'); }
输出:
0123 1234 2345 0#1#2#3 1#2#3#4 2#3#4#5
示例4,尝试创建一个栈,指针p指向栈stack,有入栈push()出栈pop()函数,不断填入整形数据,其中如果数据到达临近值则调用成员expand()方法进行扩容,index表示栈针:
#includeusing namespace std; class stack{ public: int *p; int length; int index = 0; void init() { length = 10; p = new int[length]; } void push(int num){ if(length == index) { expand(); } p[index] = num; index++; } int pop() { index--; return p[index]; } void expand(){ int newlength = length * 2; int *newstack = new int[newlength]; for(int i = 0;i < length;i++) { newstack[i] = p[i]; } p = newstack; delete p; length = newlength; } }; int main() { stack lishuo; lishuo.init(); for(int i = 0;i < 30;i++) { lishuo.push(i); } for(int i = 0;i < 10;i++) { cout< 输出:
29 28 27 26 25 24 23 22 21 20二、堆空间创建类对象我们在创建对象的时候不仅可以在栈空间创建对象,而且可以利用new在堆空间上创建类对象,我们来开一下示例(这里直接用上一个例子):
int main() { student *lishuo = new student; lishuo->init(); lishuo->init1('#'); delete lishuo; }我们需要注意的是在栈空间创建的对象,所以可以用 . 来调用方法,但如果用堆空间来创建对象的话那么就需要用“->”来调用方法了。
总结第一部分关于类的内容就先介绍到这里吧,下一节继续讲解类的其他用法,我们好好学(pao)习(lu)吧!



