/*
类:多个对象共同属性和行为的抽象
例如:美女类
属性:数据成员修饰(数据类型)
例如:性别 姓名 三围等(不做讨论)
行为:成员函数(写在类型中函数)
对象:类的具体化
属性具体是什么
例如:名字叫 水中月 ,性别:女
代码中如何产生一个类:
class 类名
{
//默认的情况下是私有属性,就是什么都没写
//三个权限限定词
public; //对象能够在类外访问内容
protected;
private;
};
*/
#include<iostream>
#include<string>
using namespace std;
class MM
{
pubilc:
//公有接口,类外能够访问的函数写在它之下
void sleep()
{
cout << name << " " << sex << " " << age << endl;
//在类中可以访问,因为在同一个屋檐底下
cout << "MM正在睡觉" << endl;
}
//类外访问保护或者私有属性,提供一个公有接口
//类中(protected):是无权限可言的
string& getName()
{
return name;
}
string& getSex()
{
return sex;
}
int& getAge()
{
return age;
}
//传参的方式
void initData(string name,string sex,int age)
{
//this指针:表示对象自身,区分形参名和数据成员名字相同
this->name = name;
this->sex = sex;
this->age = age;
}
protected:
//类属性写在这个权限下
string name; //名字
string sex; //性别
private:
};
int main()
{
//产生一个对象,就是产生一个变量
//类:新的数据类型
//定义变量:类型+变量名
//对象:
MM mm;
MM arrayMM[3];
MM *pMM = &mm;
MM *ppMM = new MM;
MM *ppArray = new MM[3];
//通过返回引用初始化数据成员
mm.getName() = "水中月";
mm.getSex() = "女";
mm.getAge() = 28;
//通过传参的方式初始化
pMM->initData("梦梦","女",17);
//访问属性行为
//普通对象: 对象.成员
//指针: 指针->成员
//类外对象只能访问公有属性,不能访问name
mm.sleep();
pMM->sleep();
delete ppMM;
delete [] ppArray;
system("pause");
return 0;
}
类和对象初始
最新推荐文章于 2022-08-06 00:05:09 发布