C++--类与对象(上)--类的引入--类的定义--类的访问--类的作用域--计算对象的大小

类的引入

在C语言中结构体只能用来定义变量,在C++中 ,结构体中不仅可以用来定义变量,也可以用来定义函数.

struct Student{

	//成员函数
	void SetStudentInfo(const char* name, const char* gender, int age){
		
		strcpy(_name, name);
		strcpy(_gender, gender);
		_age = age;
	}

	void PrintStudentInfo(){
		cout << _name << " " << _gender << " " << _age << endl;
	}

	//成员变量
	char _name[20];
	char _gender[3];
	int _age;
};

这个就可以成为类,但是在C++中,更喜欢用class来代替struct
里面的内容是没有区别的.

class Student{};

类的定义

class className
{
 // 类体:由成员函数和成员变量组成
 
}; // 一定要注意后面的分号

class为定义类的关键字
classname 为类的名字
{} 为主体

类的访问

在这里插入图片描述

  1. public修饰的成员在类外可以直接被访问
  2. protected和private修饰的成员在类外不能直接被访问(此处protected和private是类似的)
  3. 访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止
  4. class的默认访问权限为private,struct为public

struct和class的区别

在C++中struct可以当做结构体来使用,也可以用来定义类,和class定义的类是一样的.

只不过,struct默认访问的是public ,class 默认访问的是private

struct Student{

private:		//私有

public:			//公有

protected:		//保护

		//在下面写入具体的内容
};

void test1(){
	
	Student stu;	
	//类成员的使用,不需要通过作用域限定符的方式使用
	//通过"."的方式,如果是指针,通过"->"的形式

	stu.SetStudentInfo("hu", "男", 20);
	stu.PrintStudentInfo();
	cout << stu._gender << endl;
}

上面的是访问方式,运用"."来使用.

计算类对象的大小

class A{
public:
	int _a;
};

//class 默认访问权限为private
class B{
public:
	int fun1(int a, int b){
		return a + b;
	}
public:
	int _b;
};

class C{
public:
	int fun2(int a, int b){
		
		return a + b;
	}
};

class D{};
void test(){
	
	//定义一个类类型的变量:称为类的实例化
	//实例化的变量称为类的对象
	A oa;	//oa是类A实例化的一个对象
	oa._a = 10;

	B ob;
	//ob._b = 5;


	cout << sizeof(A) << endl;		//计算出类的字节大小
	cout << sizeof(B) << endl;
	cout << sizeof(C) << endl;
	cout << sizeof(D) << endl;
}

这一部分是对于类与对象的基础引入,大家多看看,多敲敲代码就会了!!!加油!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值