C++ 物件指標練習
#include <iostream> #include <stdlib.h> using namespace std; class Coordinate { public: Coordinate(int x, int y) { // 設定X,Y的座標 m_iX = x; m_iY = y; } public: int m_iX; int m_iY; }; int main(void) { // 在堆上建立物件指標 Coordinate *p = new Coordinate(3,5); // 列印座標 cout << p->m_iX << "," << p->m_iY << endl; // 銷燬物件指標 delete p; p = NULL; return 0; system("pause"); }
執行結果:
相關推薦
C++ 物件指標練習
#include <iostream> #include <stdlib.h> using namespace std; class Coordinate { public: Coordinate(int x, int y) { // 設定
C++物件記憶體模型2 (虛擬函式,虛指標,虛擬函式表)
C++物件記憶體模型2 (虛擬函式,虛指標,虛擬函式表) 從例子入手,考察如下帶有虛擬函式的類的物件記憶體模型: class A { public: virtual void vfunc1(); virtual void vfunc2(); void func1();
c++ 物件作為引數,指標作為引數,引用作為引數
c++ 引數傳遞方式有三種,分別為:傳物件,傳引用和傳指標,那這三種傳遞方式之間到底有什麼區別呢? 傳物件:是將實參物件的值傳遞給形參物件,是單項傳遞,在函式中修改形參的值時,不會影響到原來實參的值 傳引用:把實參物件名傳給形參物件名,形參物件名就成為實參物件名的別名,實參和形參
C++ 拷貝建構函式this指標練習
總時間限制: 1000ms 記憶體限制: 65536kB // 在此處補充你的程式碼 描述 程式填空,使其按要求輸出 #include <iostream> using namespace std; class A {
C語言二維陣列指標練習
描述 程式填空,使其輸出結果是: 1,2,3,4, 10,12,14,16, 18,20,11,12, #include <iostream> using namespace std; void Double(int * p, int n) { for(int i = 0;i
C++設計技巧(一)之兩個類互相擁有對方的物件指標
1、在實際的運用中我們也會用到如下的類關係: class B; class A { int i; B *lpb; } class B { int i; A* lpa; } 注意:一般來說,兩者的定義,至少有一方是使用指標,或兩者都使用指標,但是決不能兩者都定義實體物件。 這樣的實
c++ 入門之物件指標
我們想 像使用基本資料型別一樣使用類,自然,類自然也有指標,我們通過下面的程式碼來領教一下物件指標存在的意義: 1 # include "iostream" 2 # include "string" 3 # include "ctime" 4 # include "cstdlib" 5 co
C++中如果宣告一個物件指標時,會不會呼叫建構函式?
C++中如果宣告一個物件指標時沒有分配記憶體,那麼不會呼叫建構函式 一個指標在記憶體中也是有記憶體空間的。 在現在大多數機器上指標都是32位的,也就是4個位元組。 如果你宣告指標。例如,假設A是一個類 A *pa; 這記憶體中會分配4個位元組的空間儲存一個地址。只不過地址是不可以用
物件指標(C++學習筆記 21)
物件指標就是用於存放物件地址的變數。 宣告物件指標的一般語法形式: 類名 *物件指標名 1、用指標訪問單個物件成員 在一般情況下,用點運算子 “ . ” 來訪問物件成員,當用指向物件的指標來訪問物件成員時,就要用 “ -> ” 操作符。 例 1: 物件指標的使用 #in
C++函式指標 與 C++11 function 函式物件對比
轉自:https://blog.csdn.net/skillart/article/details/52336303 1.函式指標 函式指標:是指向函式的指標變數,在C編譯時,每一個函式都有一個入口地址,那麼這個指向這個函式的函式指標便指向這個地址。函式指標主要由以下兩方面的用途:呼叫函式和
《 C和指標 》第6章問題與練習
問題 1.如果一個值的型別無法簡單的通過觀察它的位模式來判斷,那麼機器是如何知道應該怎麼對這個值進行操縱的? 機器無法做出判斷。編譯器根據值的宣告型別建立適當的指令,機器只是盲目的執行指令。 2.C為什麼沒有一種方法來宣告字面值指標常量呢? 它們很少使用,因為你
[C++]空的物件指標可以呼叫成員函式
include using namespace std; class A{ public: void func() { cout << "hahaha" << endl; } int m_num = 1; }; int main() { A* ptr = NULL; A obj;
C/C++ 野指標 殭屍物件
今天在實現平衡二叉樹的一系列操作的時候,發現了一個以前不經常注意的地方,記錄一下; 每個程式在執行時都會佔用一塊可用的記憶體空間(malloc、new),用於存放動態分配的物件,此記憶體空間稱為自由儲存區或堆。 在使用完這塊記憶體之後,就需要我們自己釋放這塊記憶體,否
C++基礎第三章(使用類和物件)中篇(物件陣列,物件指標,常物件)
一.1,物件陣列 我們定義普通型別的陣列時 int a[100]; char b[100]; string s[100]; 定義物件陣列也是一樣的 Student stud[5]; //定義stud陣列,有5個元素 物件陣列的初始化 Student
c++物件陣列和this指標
當程式需要建立同一個類的多個物件時,可以建立物件陣列,宣告物件陣列的方法和宣告標準型別陣列相同,且陣列用法也相同。 宣告:Stock mystuff[4]; 初試化:Stock stocks[4]= { Stock("WANG",1,2), Stock("zhang",2,
深度探索C++物件模型筆記《指標的型別》
一個指標,不管它指向哪一種資料型別,指標本身所需的記憶體大小是固定的,即4個位元組。 class Z{ //...... }; class X: public Z{ //...... }; 那麼X* Px; Z *Pz; int* Pi;又有何不同呢?
C和指標-程式設計練習
第六章 1、查詢source字串中匹配chars字串中任何字元的第一個字元,函式返回一個指向source中第1個匹配所找到的位置的指標。如果source中的所有字元均不匹配,返回NULL指標。如果任何
C#面向物件程式設計練習
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T
從零開始學C++之虛擬函式與多型(一):虛擬函式表指標、虛解構函式、object slicing與虛擬函式、C++物件模型圖
#include <iostream>using namespace std;class CObject {public: virtual void Serialize() { cout << "CObject::Serialize ..." <&
深度探索C++物件模型(2)——物件(2)——this指標調整
this指標調整 首先看程式碼示例: #include <iostream> using namespace std; class A { public: int a; A() { printf("A::A()的this指標是:%p!\n",this); } v