C# &&C

一、继承中的构造函数

 

1.基本概念

      当申明一个子类对象时,先执行父类的构造函数,再执行子类构造函数。

(注意:父类的无参构造很重要;子类可以通过base关键字 代表父类 调用父类构造)

构造函数:实例化对象调用的函数,主要用来初始化成员变量。每个类 都会有一个默认的无参构造函数。

其语法为

    访问修饰符  类名()

  {

  }

注意点:不写返回值 ,函数名与类名相同,访问修饰符根据需求而定一般为public,构造函数可以重载,可以用this语法重用代码。    有参函数会顶掉默认的无参构造,如果想保留无参构造需重载出来。

 class Test
{
    public int test1;
    public string test2;
    public Test()       //无参构造
    {
                
    }  
    public Test(int i)
    {
        this.test1 = i;
    }
    public Test(int i, string str) : this(i)  //外部经行两个构造重载时,先调用后面指定的this(即调用public Test(int i))
    {
        this.test2 = str;
    } 
}

2.继承中构造函数执行顺序

    父类的父类的构造-------》父类构造-----------》子类构造

3.父类的无参构造函数

(无参函数省略时,父类使用的有参函数,在子类继承时显示报错)

子类实例化时,默认自动调用的是父类的无参构造,所以如果父类的无参构造被有参函数顶掉,显示报错

   

4.通过base调用指定父类构造

 class Test
{
   // public Test()       //无参构造
    //{
                
    //}  
    public Test(int i)
    {
        Console.WriteLine("Test");
    }
}
    class Player : Test
{
    public Player(int i) : base(i)    //当父类的无参构造没有时可以通过base调用父类有参构造。 (base里的参数要与其调用的参数保持一致
    {
        Console.WriteLine("Player");
    }
}

二、C里面的指针

    1.基本功能:交换数值

#include  <stdio.h>
void swap(int *pa,int *pb);
int main(){
	int a=5;
	int b=3;
	swap(&a,&b);//把a的地址赋给*pa  
	printf("%d %d",a,b); //结果实现对换 
	return 0;
}
void swap(int *pa,int *pb){
	int t=*pa;
	*pa=*pb;
	*pb=t;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值