在类内定义函数,代码量较少型
class Student
{
public:
//成员函数
int GetId()
{
return m_id;
}
void SetId(int id)
{
m_id = id;
}
char *GetName()
{
return m_name;
}
void SetName(const char * sname)
{
strcpy(m_name, sname);
}
int GetAge()
{
return m_age;
}
void SetAge(int age)
{
m_age= age;
}
char GetSex()
{
return m_sex;
}
void SetSex(char sex)
{
m_sex = sex;
}
private://数据成员
int m_id;
char m_name[20];
int m_age;
char m_sex;
};
关于类的实现说明
1、类的数据成员需要初始化,成员函数还要添加实现代码。类的数据成员不可以在类的声明中初始化。
2、空类是C++种最简单的类,其声明方式如下:
class Cat
{
};
对象的声明
类名 对象名表
Cat k;
Student s1, s2, s3;
对象的引用
成员变量引用的表示: 对象名.成员名
成员函数引用的表示: 对象名.成员名 (参数表)
int main()
{
Student s;
s.SetId(1);
s.SetName("小刚");
s.SetAge(10);
s.SetSex('M');
cout << s.GetId() << endl;
cout << s.GetName << endl;
cout << s.GetAge << endl;
cout << s.GetSex << endl;
return 0;
}
计算矩形面积
#include <iostream>
using namespace std;
class Rect
{
public:
void SetValue(double width, double height)
{
m_width = width;
m_height = height;
}
double GetWidth()
{
return m_width;
}
double GetHeight()
{
return m_height;
}
double GetArea()
{
return m_width * m_height;
}
private:
double m_width;
double m_height;
};
int main()
{
Rect r1;
r1.SetValue(5, 6);
cout << r1.GetArea()<< endl;
cout << r1.GetHeight() << endl;
cout << r1.GetWidth() << endl;
Rect r2,r3;
r2.SetValue(1, 2);
cout << r2.GetArea << endl;
r3.SetValue(3, 4);
cout << r3.GetArea << endl;
return 0;
}
访问控制权限
#include <iostream>
using namespace std;
class Person
{
public:
char name[20];
int age;
Person() :age(0)
{
strcpy(name, "无名");
}
Person(char *sname, int sage)
{
strcpy(name, sname);
age = sage;
}
void display()
{
cout << "姓名:" << name << " 年龄:" << age << endl;
}
private:
};
int main()
{
Person p1;
Person p2 ("Lucy", 20);
cout << p1.name << " " << p1.age << endl;
p1.display();
p2.display();
return 0;
}