程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C、C++: 引用、指針、實例、內存模型、namespace,模型namespace

C、C++: 引用、指針、實例、內存模型、namespace,模型namespace

編輯:C++入門知識

C、C++: 引用、指針、實例、內存模型、namespace,模型namespace


// HelloWorld.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "string.h"
#include "iostream.h"
/** * 在C、C++語言中 * 聲名語句中: 聲明指針變量用*,聲明變量或者常量都不加*。 * 譬如函數聲明中的參數,返回值類型等。例如類中的字段的聲明。 * 在賦值語句中: * 表示取值。 &表示取變量的地址,也就是取指針。 * * class,struct,unit: 也遵循上述原則。另外, * 在使用指針進行變量的訪問、方法的調用時,要使用 -> * 在使用實例進行變量的方式、方法的調用時,要使用. * 例如personTest()方法中: * p是指針,*p就是p所指向的實例。 * * personTest()測試中的內存模型: * 指針p Value *p ,也可以稱為實例 * ___________ __________ ___________ * | | | name |-------> |Fang JiNuo | *name * | | —————> | age : 23 | |___________| * |___________| | address | ______________________ * |__________|-------> | Bei Jing, Haid Dian | *address * |_____________________| */ class Person { private: char* name; int age; char* address; public : char* toString() { char* ret=name; return ret; } void setAge(int age){ this->age=age; } void setAddress(char* address){ this->address=address; } void setName(char* name){ this->name=name; } }; void personTest(){ Person * p=new Person(); p->setAddress("Bei Jing, Hai Dian"); // 采用指針的方式賦值 (*p).setName("Fang JiNuo"); // 采用對象的方式賦值 (*p).setAge(23); printf("show info:\n%s\n", (*p).toString()); } void switchTest(){ int a=23; int b=1; int c=0; char oper='+'; switch(oper){ case '+': c=a+b; case '-': c=a-b; break; case '*': c=a*b; break; } printf("c = %d %c %d = %d", a, oper, b, c); } /** * C 語言的輸入輸出 */ void input_Output_test_c(){ printf("Hello World!\n"); printf("zhang san, wo cao \n"); int a,b; printf("input tow int number, pattern is d, d:\n"); scanf("%d, %d", &a, &b); printf("a is %d\n",a); printf("b is %d\n",b); printf("a+b=%d\n",a+b); }

/**
 * C++ 的輸入輸出
 * 使用前需要include iostream.h
 */
 void input_Output_test_cpp()

 {

     // << out1 << out2 << out3 << out4 << endl;
     // endl 代表endline,也就是換行
     char * content=new char;
     cout << "plese input:" << endl;
     cin>> content;
     cout << content << endl;
  }



/**
 * namespace
 * C 語言不支持。
 * C++ 支持。
 *
 */
  namespace MyNS
  {
    void namespaceTest(){
      cout << "MyNS namespace invoked" << endl;
    }
  }


  void namespaceTest(){
    cout << "current namespace invoked" << endl;
  }

int main(int argc, char* args[])
{

// input_Output_test_c();
// personTest();
// switchTest();
// input_Output_test_cpp();
namespaceTest();
MyNS::namespaceTest();

    return 0;
}

 

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