Time of Update: 2018-12-04
類,是物件導向語言的基礎。類的三大特性:封裝、繼承、多態。最基本的特性就是封裝性。程式員用程式描述世界,將世界的所有事物都看成對象,怎麼描述這個對象?那就是類了。也就是用類來封裝對象。用書上的話說,類是具有相同屬性和行為的對象的抽象。寶馬汽車、別克汽車、五菱之光汽車... 基本具有相同的屬性和行為,所以可以抽象一個汽車類,當然也可以把路人甲的寶馬汽車、路人乙的別克汽車...
Time of Update: 2018-12-04
我們定義了YSchool,YTeacher類,執行個體化對象時: YSchool shool1 = new YSchool(); shool1.ID = 1; shool1.Name = "清華附中"; YSchool school2 = new YSchool(); school2.ID = 2; school2.Name = "北師大附中";
Time of Update: 2018-12-04
繼承和抽象類別中提到過,子類與父類的方法間有這些關係:子類直接使用父類方法(但是必須父類方法是public或protected類型);子類的方法覆蓋父類方法(override);子類的方法重載父類方法(overload);看下面這種情況: public class YSchool { private int id = 0; private string name = string.Empty; public int ID {
Time of Update: 2018-12-04
C++中,有很多種字串變數初始化方式,最常見的寫法是:WCHAR szBuffer[128] = {0}; 或者 WCHAR szBuffer[128] = L""; 其實這種寫法的代碼效率比較低,因為編譯之後的彙編代碼調用了 memset 函數。 WCHAR szBuffer[128] = {0};04906922 mov word ptr [szBuffer],0 0490692B push 0FEh 04906930 push
Time of Update: 2018-12-04
我的例子是為了證明Protocol Buffer良好的跨語言特性。例子由兩個程式構成,一個是C++程式,負責將對象User序列化到檔案中。另一個是Java程式,負責從檔案中還原序列化成User對象。下面的圖形反映了兩個程式以及Protocol Buffer之間的關係。先設計User對象的proto檔案,Protocol Buffer編譯器要利用它產生C++檔案和Java檔案。package sample;option java_package =
Time of Update: 2018-12-04
Debug 通常稱為調試版本,它包含調試資訊,並且不作任何最佳化,便於程式員偵錯工具。Release 稱為發布版本,它往往是進行了各種最佳化,使得程式在代碼大小和運行速度上都是最優的,以便使用者很好地使用。 Debug 和 Release 的真正秘密,在於一組編譯選項。下面列出了分別針對二者的選項(當然除此之外還有其他一些,如/Fd /Fo,但區別並不重要,通常他們也不會引起 Release 版錯誤,在此不討論) Debug 版本: /MDd /MLd 或 /MTd 使用
Time of Update: 2018-12-04
P.J Plauger的"The Standard C Library"一書的Chapter0的章後練習中有這樣的一道題:編寫一個包含如下一行語句的正確的程式: x: ((struct x*)x)->x=x(5); 並描述這行語句中x的5種截然不同的use,這裡其實涉及到這麼一個知識或者說概念:C語言的命名空間(namespace),在"C語言參考手冊"中還被稱作: overloading class。 這 裡namespace,並非C++中的那個keyword
Time of Update: 2018-12-04
1. extern "C"是C++語言裡的關鍵字,C語言裡沒有。也就是說對於純C編譯器,它根本不認識extern "C",將導致編譯錯誤。 2. extern "C"的作用是使得C++編譯後的函數和變數名與C語言編譯後的名稱一致,也就是在其包含的範圍內對C和C++相容的函數和變數採用C的修飾機制。 3. extern "C"隻影響一般函數和變數,對於C++特有的類以及與類有關的成員函數的命名不受其影響。對象的名字受其影響,因為無論什麼類型的對象都是一般的變數。
Time of Update: 2018-12-04
轉自的部落格地址:http://blog.sina.com.cn/s/blog_79b802790100q8tt.html 終於體驗到在Linux下使用Asm 和 C的混合編寫產生-elf檔案。 在程式中的函數相互調用顯然使用的是堆棧進行。而中斷 int 0x80 卻沒搞清楚。可以明確的是這是個BIOS中斷可以實現多種功能,使用eax選擇功能,當eax=4時是螢幕輸出,ebx為輸出個數,ecx是字元長度,edx則為字元內容。參數的傳遞遵循後邊的參數先入棧 foo.asm
Time of Update: 2018-12-04
轉自:http://www.duote.com/tech/4/11911.html C++學習從零開始(一)出處:2345軟體大全時間:2011-04-25人氣:64441我來評論教程貼士:本文的中篇已經介紹了虛的意思,就是要間接獲得,並且舉例說明電視機的頻道就是讓人間接獲得電視台頻率的,因此其從這個意義上說是虛的,因為它可能操作失敗--某個頻道還未調好而導致一片雪花。 本文的中篇已經介紹了虛的意思,就是要間接獲得,並且舉例說明電視機的頻道就是讓人間接獲得電視台頻率的,因此其從這個意義上說是虛
Time of Update: 2018-12-04
C++內嵌函式一、內聯和宏定義的區別 (1)內聯是與編譯期有關,而宏是與前置處理器有關,二者不在同一個時期處理。(PS:一般進階語言程式編譯過程:預先處理、編譯、彙編、連結)。 (2) 內聯能夠進行在函數替換的時候進行函數的類型,調用的參數等的匹配檢查,而宏是不會的,宏另外有一個不佳 的地方在於會出現一些副作用。 (3)
Time of Update: 2018-12-04
轉自:http://blog.csdn.net/andy_yf/article/details/7062347對於一個沒有定義public存取權限的類,能夠讓其他的類操作它的私人成員往往是有用的。例如你寫了一段binary tree的代碼,Node是節點類,如果能夠讓串連多個節點的函數不需要調用public方法就能夠訪問到Node的私人成員的話,一定是很方便的。Friend
Time of Update: 2018-12-04
C++ Standard Library Style Guidelines DRAFT 1999-02-26-------------------------------------This library is written to appropriate C++ coding standards. As such,it is intended to precede the recommendations of the GNU CodingStandard, which can be
Time of Update: 2018-12-04
題目要求:寫一函數,實現兩字串的串連 #include <stdio.h>#include <string.h>void cat(char a[],char b[]){int i,j,k;i=strlen(a);j=strlen(b);for(k=0;k<j;k++){a[i++]=b[k];}a[i]='/0';puts(a);}void main(){char a[100];char b[100];gets(a);gets(b);cat(a,b);}
Time of Update: 2018-12-04
JSON是一種比XML更輕量級的資料交換格式,關於JSON的基礎知識,參考 JSON http://www.json.org/json-zh.html看看你使用的語言中是否已有JSON支援,也參考JSON http://www.json.org/json-zh.htmlcJSON是C語言中的一個JSON轉碼器,非常輕量級,C檔案只有500多行,速度也非常理想。項目首頁:cJSON | Free software downloads at
Time of Update: 2018-12-04
如果想訪問某個類的方法或屬性,一定要先執行個體化該類,然後用該類的對象加.號訪問。比如:有一個使用者類和一個處理密碼(加密和解密)的類。沒產生一個使用者執行個體後,處理密碼類要對密碼進行加密和解密。using System;using System.Collections.Generic;using System.Text;using System.Security.Cryptography;using System.IO;namespace
Time of Update: 2018-12-04
題目要求:用指標方式實現strlen函數的功能 #include <stdio.h>int mystrlen(char * p);void main(){char ch[10];printf("輸入字串的內容/n");gets(ch);printf("字串的有效長度是%d/n",mystrlen(ch));}int mystrlen(char * p){int len=0;while(*(p+len)!='/0'){len++;}return len;}
Time of Update: 2018-12-04
1 防止一個標頭檔重複定義格式如下#ifndef COMDEF_H#define COMDEF_H //標頭檔內容#endif 這個在很多的標頭檔的開頭都有看到,就是弄不明白,什麼叫重複定義???試個程式看看 例題1 test1.c #include <stdio.h>int main(int argc,char *argv[]){ printf("lsdkfla/n");}例題2 test2.c #include <stdio.h>#include
Time of Update: 2018-12-04
仔細瞭解裝箱和拆箱其實是很有趣的,首先來看為什麼會裝箱和拆箱呢?看下面一段代碼: class Program { static void Main(string[] args) { ArrayList array = new ArrayList(); Point p;//分配一個 for (int i = 0; i < 5; i++) {
Time of Update: 2018-12-04
1.安裝步驟步驟一:將AIX作業系統安裝盤的第一張放入光碟片磁碟機,之後執行下面的命令:# smitty install--> Install and Update Software--> Install and Update from ALL Available