栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++学习之路抓紧跑路版(八)-类(一)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++学习之路抓紧跑路版(八)-类(一)

文章目录
  • 前言
  • 一、定义一个类
  • 二、堆空间创建类对象
  • 总结


前言

我们从这一节开始就开始学习C++的一大特色“类”了,可能内容会比较多,我们开始吧!加油


一、定义一个类

1、定义类
class 类名{
类成员属性:public、private、protected
};
2、创建类对象
类名 对象名;
3、使用类对象的成员
对象名.方法;

我们来举一个简单的例子吧:

#include
using 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表示栈针:

#include
using 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)吧!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/960109.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号