程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++ :類型的別名和對象的別名

C++ :類型的別名和對象的別名

編輯:關於C++

上一篇我們講到過,引用其實是對象的一個別名。我們知道對象是類型的具體化實例,那麼類型可不可以有別名呢?答案是可以的

#include <iostream>
using namespace std;

class human{
public:
    void Talk();
    ~human(){cout<<"析構函數在工作..."<<endl;}
private:
    int age;
};

void human::Talk(){
    cout<<"Hello"<<endl;
}

int main()
{

    typedef human people;
    //這是定義一個類型別名,或者叫做同義詞。human是原類型,people是新類型
    people p;
    p.Talk();

    human &b=p;//這是定義一個對象別名,引用了p這個對象
    b.Talk();

    return 0;
}

而typedef關鍵在在C#中並沒有對應的實現,要想對類型設置別名,C#的做法大致如下

using System;
using System.Collections.Generic;
using System.Text;

using people = CSharpProject.Human;

namespace CSharpProject
{
    class Program
    {
        static void Main(string[] args)
        {
            people p = new Human();
            p.Age = 50;
            p.Talk();

            Console.Read();
        }
    }

    class Human {
        public int Age { get; set; }
        public void Talk() { Console.WriteLine("Hello,world"); }
    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved