1. 程式人生 > >c++之物件成員

c++之物件成員

class Line//線段類物件呼叫了下面的點類的物件來構成他
{
public:
Line(int x1,int y1,int x2,int y2);
~Line();
void setA(int x,int y);
void setB(int x,int y);
void printInfo();
private:
Coordinate m_coorA;
Coordinate m_coorB;

};

class Coordinate//點類的物件,定義點類的x,y
{
public:
Coordinate(int x,int y);
~Coordinate();
void setX(int x);
int getX();
void setY(int y);
int getY();
private:
int m_iX;
int m_iY;
};



Coordinate::Coordinate(int x,int y)
{
m_iX=x;
m_iY=y;
cout<<"Coordinate()::"<<m_iX<<","<<m_iY<<endl;
}


Coordinate::~Coordinate()
{
cout<<"~Coordinate()::"<<m_iX<<","<<m_iY<<endl;
}


void Coordinate::setX(int x)
{
     m_iX=x; 

 
int Coordinate::getX()
{
     return m_iX;



void Coordinate::setY(int y)
{
     m_iY=y;



int Coordinate::getY()
{
    return m_iY;



Line::Line(int x1,int y1,int x2,int y2)
:m_coorA(x1,y1),m_coorB(x2,y2)
{
cout<<"Line()"<<endl;
}


Line::~Line()
{
cout<<"~Line()"<<endl;
}

void Line::setA(int x,int y)
{
m_coorA.setX(x);
m_coorA.setY(x);
}


void Line::setB(int x,int y)
{
m_coorB.setX(x);
m_coorB.setY(x);
}


void Line::printInfo()
{
cout<<"("<<m_coorA.getX()<<","<<m_coorA.getY()<<")"<<endl;
cout<<"("<<m_coorB.getX()<<","<<m_coorB.getY()<<")"<<endl;
}


int main(void)
{
Line* p=new Line(1,2,3,4);//在堆區申請記憶體
p->printInfo();
delete p;
p=NULL;
return 0;

1建構函式可以沒有引數,也可以有具體引數

2物件成員函式在棧區記憶體申請後可以自動回收,在堆區記憶體申請後需要手動回收(關鍵在於new不new)

3物件成員函式在程式中一般先呼叫點類的建構函式,再呼叫Line類的建構函式,析構時則相反

相關推薦

c++物件成員

class Line//線段類物件呼叫了下面的點類的物件來構成他{public:Line(int x1,int y1,int x2,int y2);~Line();void setA(int x,int y);void setB(int x,int y);void print

讀《深度探索C++物件模型》物件成員的效率

測試平臺:華碩N53S(五年前的老機子) 編譯環境:VS2010 接下來我將會有多個測試,在多個不同環境下的所消耗的時間比較: 五個測試分別為:個別的區域性變數、區域性陣列、struct之的Public、class 之中的inline Get函式、 class之中的inli

C++靜態成員變量和靜態成員函數

weibo ml2 ani inf ugo fmt 靜態成員 shuf sin 儻69澄h星f都綸誒73倘Bhttp://www.facebolw.com/space/2103710/following 幼捍iuvp186w諭4http://www.facebolw.co

C++ 成員(八)

C++ new delete 命名空間 我們之前了解了在 C 語言中動態申請內存用 malloc,在 C++ 中,通過 new 關鍵字進行動態內存申請。C++ 中的動態內存申請是基於類型進行的,delete 關鍵字用於內存釋放。 變量申請:Type* pointe

C++靜態成員函式為什麼不能為虛擬函式

應該知道靜態成員函式屬於類,也屬於物件,但終歸屬於類,他在記憶體中只有一份。而虛擬函式必須根據物件型別才能知道呼叫哪一個虛擬函式,故虛擬函式是一定要在物件的基礎上才可以的,兩者一個終歸屬於類,一個必依賴

C++物件的動態建立和釋放

new和delete的用法: 1)在軟體開發過程中,常常需要動態地分配和撤銷記憶體空間,例如對動態連結串列中結點的插入與刪除。在C語言中是利用庫函式malloc和free來分配和撤銷記憶體空間的。C++提供了較簡便而功能較強的運算子new和delete來取代m

C++ 引用物件成員的三種方式

在程式中經常需要訪問物件中的成員。訪問物件中的成員可以有3種方法: 1.通過物件名和成員運算子訪問物件中的成員; 2.通過指向物件的指標訪問物件中的成員; 3.通過物件的引用變數訪問物件中的成員。 通過物件名和成員運算子訪問物件中的成員 例如在程式中可以寫出以下

c++指向物件成員函式的指標

#include<iostream> #include <iomanip> using namespace std; class Time { private: int

C++-類物件成員&&物件陣列

類物件成員 #include <iostream> using namespace std; class stuid { int id; public: stuid(int i = 0) {

c++ 指向物件成員的指標

在c++中類是抽象的,沒有實際記憶體,而物件是具體,是佔有記憶體的,因此物件有地址,存放物件的起始地址的指標變數就是指向物件的指標變數。物件中的成員也是佔有記憶體的,所以,存放物件成員的起始地址的指標變數就是指向物件成員的指標變數。1.指向物件資料成員的指標int *p1;

C++物件的銷燬

生活中物件都是被初始化後才上市的 生活中的物件被銷燬前會做一些工作 問題1 : C++中如何清理需要銷燬的物件? 一般而言,需要銷燬的物件都應該做清理 解決方案 為每個類都提供一個pub

C++類物件成員變數和成員函式記憶體分配的問題

//類的使用//... K kTemp;  printf("%d--%d\n",&kTemp,&kTemp.k);  printf("%d--%d\n",sizeof(K),sizeof(kTemp.k));  int *i = (int*)(&kTemp);  int w = *i;

C++ 靜態成員 初始化必須在定義外

如題 一般情況下,C++定義一個類會用2個檔案,“class.h”和 “class.cpp”, 使用的時候一般會讓函式在.h中宣告,然後.cpp中定義,而成員資料一般在建構函式或者.h中就初始化了。

C++普通成員函式、虛擬函式以及純虛擬函式的區別與用法要點

普通成員函式是靜態編譯的,沒有執行時多型,只會根據指標或引用的“字面值”類物件,呼叫自己的普通函式;虛擬函式為了過載和多型的需要,在基類中定義的,即便定義為空;純虛擬函式是在基類中宣告的虛擬函式,它可以再基類中有定義,且派生類必須定義自己的實現方法。 假設我們有三個類Person、Teacher

c++類與物件預設成員函式

c++類與物件(二) 1.類的6個預設成員函式 一:建構函式 建構函式是一個特殊的成員函式,名字與類名相同,建立類型別物件時由編譯器自動呼叫,保證每個資料成員都有一個合適的初始值,並且在物件的生命週期內只調用一次。 建構函式是特殊的成員函式,其特徵如下:

C++不同物件成員函式如何引用指定物件的資料成員

C++成員函式儲存問題點選開啟連結 可知C++成員函式不佔用物件的儲存空間,而是在物件外的空間,而且所有物件共用一段成員函式程式碼,那在不同物件的成員函式如何保證引用指定物件的資料成員呢? 關鍵祕籍——this指標    

C++回顧static成員、static成員函式及類物件大小計算

        C中的static使用比較簡單,都不陌生了,C++中static關鍵字在類中的使用需要注意一些細節。static在類中修飾的是資料成員以及成員函式,分別稱之為靜態資料成員及靜態成員函式。         先來看看static靜態資料成員的目的及使用:    

C++指向物件成員函式的指標

1. 普通函式的指標變數定義    資料型別名 (*指標變數名)(引數列表);    例如:void (*p)( ); //p指向void型函式的指標變數;          p = fun;    

C++物件、常成員變數與常成員函式詳解

一、常物件說明:常物件是指物件的資料成員的值在物件被呼叫時不能被改變。常物件必須進行初始化,且能被更新。不能通過常物件呼叫普通成員函式,但是可以通過普通物件呼叫常成員函式。常物件只能呼叫常成員函式

Objective-C成魔路【8-訪問成員變量和屬性】

order 線程安全 ring 內容 時間 targe 簡化 音樂 blank 郝萌主傾心貢獻,尊重作者的勞動成果。請勿轉載。 假設文章對您有所幫助,歡迎給作者捐贈,支持郝萌主,捐贈數額任意,重在心意^_^ 我要捐贈: 點擊捐贈 Cocos2d-X源代碼