当前位置: 首页 > news >正文

基于asp.net网站开发视频教程网页制作的视频

基于asp.net网站开发视频教程,网页制作的视频,北京网站建设方案开发公司,wordpress 精仿36kr类与对象(中--构造函数) 1、构造函数的特性2、默认构造函数3、编译器自动生成的默认构造函数(无参的)(当我们不写构造函数时)3.1 编译器自动生成的默认构造函数只对 自定义类型的成员变量 起作用&#xff0…

类与对象(中--构造函数)

  • 1、构造函数的特性
  • 2、默认构造函数
  • 3、编译器自动生成的默认构造函数(无参的)(当我们不写构造函数时)
    • 3.1 编译器自动生成的默认构造函数只对 自定义类型的成员变量 起作用,对 内置类型的成员变量 不做处理
    • 3.2 针对编译器自动生成的默认构造函数,无法对内置类型成员变量进行初始化的缺陷
  • 4、总结是否在类中写构造函数

//构造函数(在对象实例化时,就完成对对象的初始化工作)
//作用:构造函数主要完成初始化工作(这样就会避免忘记对对象初始化)

1、构造函数的特性

//构造函数是特殊的成员函数。构造函数的作用是初始化对象,并非开空间创建对象(这是编译器完成的)。// 其特征如下:
//(1)函数名与类名相同。
//(2)无返回值。(并非是 void, void是空返回值)
//(3)对象实例化时,编译器会自动调用对应的构造函数。
//(4)构造函数可以重载。class Data
{
public://A 无参构造函数Data(){}//B 带参构造函数Data(int year, int month, int day){_year = year;_month = month;_day = day;}private:int _year;int _month;int _day;};int main()
{Data d1;Data d2(2023, 7, 31); //d1和d2两个对象在实例化时,调用Data函数构成函数重载。return 0;
}

2、默认构造函数

//主要分为三类:无参构造函数(自己写的)【Data()】、全缺省构造函数(自己写的)(有参的)【Data(int year=1,int month=1,int day=1)】以及 编译器默认生成的构造函数(自己没写)。
//特点:(1)不用传参数就可以调用。(2)在调用的过程中只存在一个(虽然在语法角度,无参构造函数和全缺省构造函数可以同时存在;但是在函数调用的过程中会存在歧义。)
//用法:最佳用法是只保留:全缺省构造函数(既可以无参调用,也可以有参调用,也不会产生调用歧义)class Data
{
public://全缺省构造函数Data(int year = 1, int month = 1, int day = 1){_year = year;_month = month;_day = day;}private:int _year;int _month;int _day;
};int main()
{Data d1;Data(2022, 7);Data d2(2023, 7, 31);return 0;
}

3、编译器自动生成的默认构造函数(无参的)(当我们不写构造函数时)

//通俗分析:当我们自己在类中定义了构造函数,编译器就不会自动生成。当我们自己没有在类中定义构造函数,编辑器就会自动生成。class Data
{
public:private:int _year;int _month;int _day;
};int main()
{Data d1;return 0;
}

3.1 编译器自动生成的默认构造函数只对 自定义类型的成员变量 起作用,对 内置类型的成员变量 不做处理

//内置类型:语法自带的,不用定义就可以用的类型,char\int\double\float以及指针(BTNode*)等类型。
//自定义类型:需要定义过才可以用的类型,例如:ListNode\BinaryTreeNode等//特点:
//A 内置类型成员变量不做处理
//B 自定义类型成员变量会去调用它(这个自定义类型成员变量)的默认构造函数(如果没有默认构造函数,就无法编译通过)。
class Time
{
public:Time(){cout << "Time()" << endl;_hour = 0;_minute = 0;_second = 0;}
private:int _hour;int _minute;int _second;};class Data
{
public://不写,默认生成构造函数
private:int _year;int _month;int _day;//Time _t; //任意类型的指针都是内置类型Time _t;
};int main()
{Data d1;return 0;
}

3.2 针对编译器自动生成的默认构造函数,无法对内置类型成员变量进行初始化的缺陷

//C++11打了个补丁:内置类型成员变量在类中申明时,可以给缺省值。
class Time
{
public:Time(){cout << "Time()" << endl;_hour = 0;_minute = 0;_second = 0;}
private:int _hour;int _minute;int _second;
};class Data
{
public://不写,默认生成构造函数
private:int _year = 1;int _month = 1; //这儿给的1是缺省值;因为这儿是内置类型成员变量的申明。int _day = 1;Time _t;
};int main()
{Data d1;return 0;
}

4、总结是否在类中写构造函数

//(1)一般的类都不会让编译器默认生成构造函数,都会自己写。显示写一个全缺省构造函数,非常好用。
//(2)在某些特殊情况下,让编译器默认生成构造函数。
//例如:
#include <iostream>
#include <assert.h>
using namespace std;typedef int DataType;
class Stack
{
public:Stack(int capacity = 3){_array = (DataType*)malloc(sizeof(DataType) * capacity);assert(_array);_capacity = capacity;_size = 0;}
private:DataType* _array;int _capacity;int _size;};class MyQueue
{
public:void push(int x) {}//...
private:size_t _size = 0;  //这儿就发挥了 C++11加入缺省值补丁 的作用Stack _st1;Stack _st2;
};int main()
{MyQueue q; //MyQueue 用默认生成的构造函数就挺好的,不需要显示写。return 0;
}
http://www.yayakq.cn/news/467448/

相关文章:

  • 网站建设,从用户角度开始手机app开发公司排行
  • 沈阳学校网站建设横沥网站仿做
  • 广西建设网人员查询网seo在网站建设中的作用
  • 深圳自适应网站推广价格线上外贸平台有哪些
  • 响应式环保网站政协系统网站建设
  • 找公司做网站怎么图片都要自己找东莞房价还会涨吗
  • 网站打不开dns修改吗自适应网站怎么做移动配置
  • 嘉兴网站建设企业wordpress主题开发教程
  • 网站开发容易找工作吗网站自适应尺寸
  • 外贸网站 php网站建设江苏
  • 在线视频网站a一级爰a做免费茌平网站建设费用
  • 做网站 内容越多越好做网站用小动画
  • 买网站服务器图书馆网站参考咨询建设
  • 西部数码网站建设合肥响应网站案例
  • 小说网站个人可以做吗湛江电气建站软件
  • 浙江省城乡建设厅官网整站网站优化推荐
  • 站长之家网页模板免费的个人简历模板电子版
  • 相亲网站男人拉我做外汇南昌建网站单位
  • 佛山优化网站推广万州网络科技有限公司
  • 海南酒店网站建设燕窝网站怎么做的
  • 大学生互助联盟网站建设需求分析说明表大连网址
  • 广东门户网站建设微信网页版怎么登录不了
  • 如何做中英切换的网站广告公司vi设计
  • 长沙建站挺找有为太极网站建设案例赏析
  • wordpress 站内搜索代码奉贤深圳网站建设公司
  • 常德自助建站seo搭建平台的成语
  • 已经买了域名怎么做网站为什么我的wordpress显示不了图片
  • 桐乡市住房建设局网站宜家家居官网网上商城app
  • dedecms做网站图片网站模版
  • 行业应用网站建设成本只做早餐的网站