c++我来了

c++我来了,第1张

c++我来了

7.类和对象。

类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量;创建对象的过程也叫类的实例化。每个对象都是类的一个具体实例(Instance),拥有类的成员变量和成员函数

与结构体一样,类只是一种复杂数据类型的声明,不占用内存空间。而对象是类这种数据类型的一个变量,或者说是通过类这种数据类型创建出来的一份实实在在的数据,所以占用内存空间。

8.访问修饰符。

public公有的类外可访问private私有的类外不可访问,只有类内成员可以访问protected受保护的类外不可访问,派生类可以访问

如果既不写 private 也不写 public,就默认为 private。

成员属性设为私有,成员方法设为公有。

在类外实现函数:

返回值 + 类名 + :: + 函数名 + 参数;

9.封装(接口函数)。

这种将成员变量声明为 private、将部分成员函数声明为 public 的做法体现了类的封装性。所谓封装,是指尽量隐藏类的内部实现,只向用户提供有用的成员函数。

#include 
using 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.构造函数。

有了构造函数,在创建对象的同时为成员变量赋值;

#include 
using 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.初始化列表。

构造函数的一项重要功能是对成员变量进行初始化,为了达到这个目的,可以在构造函数的函数体中对成员变量一一赋值,还可以采用初始化列表。

#include 
using 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
}

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5713351.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存