C++:类和对象

我们知道C语言是面向过程语言,C++是面向对象语言。

例如:吃狗屎就是面向过程,狗吃屎就是面向对象。

而类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量,创建对象的过程叫做类的实例化,即对象是一个类的实例。类不占用内存空间,而对象是一个实例,因此对象占用内存空间。

类的一般定义方法如下:

class+类名
{
public:
        成员函数或变量
};

一个具体例子如下:

#include<iostream>
using namespace std;

class student
{
public:
	const char* name;
	int age;
public:
	void show();
	/*{
		cout << name << age << endl;//可在内也可在外,大多数类外
	}*/
};

void student::show()//在类外声明时要有作用域
{
	cout << name << age << endl;
}

int main()
{

	student stu;//在栈区
	stu.name = "小明";
	stu.age = 18;
	stu.show();

	student* pstu = new student;//在堆区
	pstu->name = "小强";
	pstu->age = 17;
	pstu->show();


	return 0;
}

你应该有注意到public(公共的)吧,它是访问修饰符的一个,除此之外还有protected(受保护的),private(私有的)。他们是用来控制成员变量和成员函数的访问权限的,即你能否使用该类中的成员。

他们的区别如下:

public:类内类外皆可访问

protected:类内能类外不能

private:类内能类外不能

#include<iostream>
using namespace std;


class AA
{
public:            
	int a;
protected:         
	int b;
private:        
	int c;
public:
	void show()
	{
		cout << a << " " << b << " " << c << endl;
	}
};
//类的默认访问修饰符为私有的

int main()
{

	AA aa;
	aa.a = 100;
	//aa.b = 200;不行
	//aa.c = 300;不行
	aa.show();


	return 0;
}

当我们没有规定访问权限时,类的默认访问修饰符时private,而结构体的默认访问修饰符时public

类比结构体更安全。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值