怎么样管理类管理对象
类如何定义对象
#include<iostream>
using namespace std;
//求圆的面积
class MyCirecle
{
public:
double m_r;//属性 成员变量
double m_s;
public :
double getR()
{
return m_r;
}
void setR(double r)//成员函数
{
m_r = r;
}
double getS()
{
m_s = 3.14 * m_r * m_r;
return m_s;
}
protected:
private:
};
//类的封装
void printCircle01(MyCirecle* pC)
{
cout << "r:" << pC->getR() << endl;
cout << "s:" << pC->getS() << endl;
//类封装了成员变量和成员函数 所以可以调用函数
}
void printCircle02(MyCirecle &myc)
{
cout << myc.getS() << endl;
}
void printCircle03(MyCirecle myc)
{
}
void main()
{
MyCirecle c1, c2;
c1.setR(10);
cout << "c1 s:" << c1.getS() << endl;
printCircle01(&c1);
cout << "hello.." << endl;
return;
}
//面向对象 三大概念
//封装 继承 多态
//封装:成员的对象和函数 作为一个整体 客观的把事物封装成抽象的类 并且可以把自己的数据和方法只让可信的类或者对象操作 对不可信的进行信息隐藏
//1 属性和方法 封装 2 进行访问控制
//3 类的内部 类的外部
//4 类的访问控制关键字
//public:修饰的成员变量和函数可以在类的内部和类的外部访问
//private: 修饰的成员变量和函数 只能在内部
///protected 修饰的成员变量和函数 只在内 不在外
class MyAdvCirecle
{
private:
double m_r;//属性 成员变量
double m_s;
public :
double getR()
{
return m_r;
}
void setR(double r)//成员函数
{
m_r = r;
}
double getS()
{
m_s = 3.14 * m_r * m_r;
return m_s;
}
protected:
private:
};
void main()
{
MyAdvCirecle c1, c2;
//c1.m_r = 19;//这一行在类的外部 private 不能访问
c1.setR(10);
return;
}
class MyAdvCirecle
{
private:
double m_r;//属性 成员变量 内部密码
double m_s;
public ://可以被外部喊
double getR()
{
return m_r;
}
void setR(double r)//成员函数
{
m_r = r;
}
double getS()
{
m_s = 3.14 * m_r * m_r;
return m_s;
}
protected:
private:
};
struct AAA
{
int a;// 不写默认public
};
#program one 防止传递两次
类的声明 和实现分开
#include <iostream>
using namespace std;
#include "MyTeacher.h"
void main()
{
MyTeacher t1;
t1.setAge(43);
cout << t1.getAge() << endl;
return;
}
#include "MyTeacher.h"
//函数声明换成函数实现
void MyTeacher::setAge(int age)
{
m_age = age;
}
int MyTeacher::getAge()
{
return m_age;
}
#pragma once //只包含一次
class MyTeacher
{
private:
int m_age;
char m_name[32];
public:
void setAge(int age);
int getAge();
};