无向图题目后 细节总结

细节总结

1. 什么是类,如何写一个类(class)。

类是具有相同特性和行为的对象组成的集合,在计算机语言中类就是指一个数据类型。

1、使用class和struct的唯一区别是:使用class定义的类在没有被强制限定的话,其成员时私有的(private),既不能被外部调用。使用struct的话,其成员是公共的(public),可以被外部调用。
2、每个类定义了唯一的类型,即使两个类的成员完全一样,只要类名不同,它们也是不同类型。
3、类体中的数据描述的是类的特征(属性),方法是类中定义的函数,描述类的行为。类型成员用于在类的作用域中指定类型的别名。

如何写一个类;
1.分析问题有几个事物,再分析他们属于几类,有几类就写几个类。
2.对每一个类都分析有几个相关的属性,就定义几个基本变量。
3.一般来说每个类都应有一个构造函数,用于初始化类的私有变量,要初始化几个就有几个参数。
4.写成员函数,注意如果输入量本身就是私有变量,则不需要参数,如果输入变量是外部数据,则需要参数。要做几个事,就写几个成员函数。

2. 类要怎么声明。

class  类型名                                 //类头

{
   private:                                   //类体,内容是类的成员表,包括数据和函数

私有的数据和成员函数;

public:

公用的数据和成员函数;

}//结束
  1. 头文件(.h)、源文件(.cpp)怎么写。
    == 以.h为扩展名的辅助性文件,也称为头文件。
    == 以.c为扩展名的基本程序文件,也称为源代码文件;
    在一个程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。
    C+ +语言支持分别编译。一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是相对独立的,在编 译(compile)时不需要与其他文件互通,只需要在编译成目标文件后再与其他的目标文件做一次链接(link)就行可。
    头文件包含;
    标准库头文件和其他头文件的预处理命令;
    各种公用的宏定义;
    各种公共的类型定义;
    结构、联合、枚举的声明;
    函数原型的声明;
    变量的外部说明。

  2. 什么是封装,怎么封装。
    封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。在面向对象编程中,封装(encapsulation)是将对象运行所需的资源封装在程序对象中——基本上,是方法和数据。对象是“公布其接口”。
    封装方法;
    set方法(是保证成员变量封装性的一种重要途径)
    (1)作用:提供一个方法给外界来设置自身成员值。
    (2)命名规范:
    <1> 方法名必须以set开头
    <2>set后面必须跟上成员变量的名称,成员变量的首字母必须大写。
    <3>返回值一定是void
    <4>一定要接受一个参数,而且参数类型要跟成员变量类型一致。
    <5>形参的名称不能跟成员变量名一致。
    set方法功能:为了不想让外部直接访问成员变量而对外部提供设置成员的接口。
    可以对外部提供的参数进行选择与过滤,从而避免了外部赋给成员变量非法值。
    get方法:
    (1)作用:返回对象内部的成员变量。
    (2)命名规范:
    <1>肯定有返回值,返回值类型肯定和成员变量类型一致。
    <2>方法名和成员变量名一致。
    <3>不需要接受任何参数。
    -----封装能保证数据安全性,不让成员变量暴漏给外部,从而避免外部直接访问或直接修改成员变量。封装即隐藏内部实现细节。
    -----当某个成员只允许外部访问而不允许外部修改时只提供get方法。如果只允许外部修改而不允许外部访问时只提供set方法。
    封装的细节:
    成员变量名的命名规则:一定要以下划线”_“开头:好处有
    (1)让成员变量和get方法名称区分开
    (2)可以跟局部变量区分开,一般看到以下划线开头的变量,一般都是成员变量。

5 . 什么是结构体,什么是初始化,结构体的初始化方法,赋值和初始化的区别。
结构体是一种数据形式,里面可以保存含有字符、字符串、数字等各种信息,并且分别保存起来,每一种数据类型是一种成员或者字段。
利用结构体必须掌握三个重要的技巧:
(1) 建立结构的格式或者布局。
(2) 声明遵守该布局的变量。
(3) 获取对一个结构变量的各个部件的访问
初始化就是把变量赋为默认值。

结构体的初始化方法
一、在结构体构造函数中初始化

 struct Stu
 {
   
  int  nNum;
  bool bSex;
  char szName[20];
  char szEmail[100];
 
  //构造函数初始化
  Stu()
  {
   
    memset(this,0,sizeof(Stu)); 
  }

二、继承模板类初始化

    template <typename T> 
    class ZeroStruct 
    {
    
    public: 
        ZeroStruct() 
        {
    
            memset(this
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值