7.类和对象。
类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量;创建对象的过程也叫类的实例化。每个对象都是类的一个具体实例(Instance),拥有类的成员变量和成员函数。
与结构体一样,类只是一种复杂数据类型的声明,不占用内存空间。而对象是类这种数据类型的一个变量,或者说是通过类这种数据类型创建出来的一份实实在在的数据,所以占用内存空间。
8.访问修饰符。
如果既不写 private 也不写 public,就默认为 private。
成员属性设为私有,成员方法设为公有。
在类外实现函数:
返回值 + 类名 + :: + 函数名 + 参数;
9.封装(接口函数)。
这种将成员变量声明为 private、将部分成员函数声明为 public 的做法体现了类的封装性。所谓封装,是指尽量隐藏类的内部实现,只向用户提供有用的成员函数。
#includeusing namespace std; class Student { private: char *m_name; int m_age; float m_score; public: void Setname (char *name); void Setage (int age); void Setscore(float score); char *Getname (); int Getage (); float Getscore (); }; void Student ::Setname (char *name) { m_name=name; } void Student ::Setage (int age) { m_age=age; } void Student ::Setscore(float score) { m_score=score; } char *Student ::Getname () { return m_name; } int Student ::Getage () { return m_age; } float Student ::Getscore () { return m_score; } int main () { Student stu; stu.Setname("小明"); stu.SetAge(17); stu.Setscore(97.5); cout << stu.Getname() << endl; cout << stu.Getage() << endl; cout << stu.Getscore() << endl; system("pause"); return 0; }
10.构造函数。
有了构造函数,在创建对象的同时为成员变量赋值;
#includeusing namespace std; class Student { private: //私有的 char *m_Name; int m_Age; float m_Score; public: //公有的 Student(); public: void Show(); }; Student::Student() { m_Name = "小明"; m_Age = 17; m_Score = 97.5f; } void Student::Show() { cout << m_Name << m_Age << m_Score << endl; } int main() { Student stu; stu.Show(); system("pause"); return 0; }
构造函数必须是 public 属性的,否则创建对象时无法调用。
11.初始化列表。
构造函数的一项重要功能是对成员变量进行初始化,为了达到这个目的,可以在构造函数的函数体中对成员变量一一赋值,还可以采用初始化列表。
#includeusing namespace std; class CStudent { private: char *m_name; int m_age; float m_score; public: CStudent(char *name, int age, float score); void show(); }; CStudent::CStudent(char *name, int age, float score)m_name(name),m_age(age), m_score(score) { } void CStudent::show() { cout< show(); system("pause"); return 0; system("pause"); return 0 }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)