c++类与结构体

#include<iostream>
#include<string>
using namespace std;
struct MM
{
	int num;
protected:
	string name;
private:
	int age;
public :
	int text;
};
//保护protected和私有private在继承中有区别,其余几乎没有
void testMM()
{
	//MM mm = {28,"name",99,68};//结构体是公开的,但里面的数据有私有,则无法直接初始化写入全部
	MM mm;
	mm.num = 28;//结构体默认属性是公开,类默认是私有
	mm.text = 95;
}
class GF             //制作类的模板,一般是一次性的(类本身也是可以限定访问的)
{
	//权限限定词(每个类都至少有一种,不写默认私有private,为了继承方便会写protected保护属性,不修改不继承则private私有),类外只能访问公开public属性的事物,类外访问类中的数据,只能通过对象(static属性除外),习惯将public属性 称为 类外的接口
	//权限限定词只限定类外对类中的访问,相当于类中相互公开
	void printff()
	{
		cout << "不在限定词下" << endl;
		cout << "默认私有" << endl;
	}

public ://公开属性,需要在其他函数或者类中调用如输出函数在main函数中调用
	
	//类中实现的函数
	void printfData()//类中的函数称为:成员函数
	{
		cout << m_name << "\t" << m_age << endl;
	}
	//为了访问原本无法访问的部分,通常提供一些接口
	void initData(string name, int age);
protected://保护属性,数据成员一般为私有private或者保护属性protected属性
	
	string m_name;//类中的数据称为:数据成员
	int m_age;

private:char c;//私有,不当前类不做继承处理,数据成员写为私有

};


//类外实现类中函数,需要类名限定(修改类的模板)
void GF::initData(string name, int age)
{
	m_name = name;
	m_age = age;
}

int main()
{
	GF L;                      //制作类的别名实现类
	L.initData("LI zi", 19);   //这些可访问的就是接口,可以和类外创造信息交互
	L.printfData();
	
}
//写外框声明,写内部数据定义,main调用
//结构体一定程度上可以算默认是公开属性的类,里面可以放限定词限定类外可调用数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值