當前位置:首頁 » 文件傳輸 » 如何訪問類中已經聲明的函數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何訪問類中已經聲明的函數

發布時間: 2022-05-17 01:48:30

Ⅰ C++中如何用類來直接調用類中的成員函數

直接用的MFC的CDC,假設對話框類的文件為a.h,a.cpp,繪圖函數(drawmap( CDC *pDC ); )的文件為b.h,b.cpp,則在a.cpp中包含b.h,在a.cpp中的合適的函數中調用drawmap函數就可以了。

例如:

class A

{

static void ABC()

{

}

}

這樣可以在主函數里直接用

A::ABC();

這樣的語句進行調用。

(1)如何訪問類中已經聲明的函數擴展閱讀:

在C++現有類的基礎上可以聲明新類型,這就是繼承和重用的思想。通過繼承和重用可以更有效地組織程序結構,明確類間關系,並且充分利用已有的類來完成更復雜、深入的開發。新定義的類為子類,成為派生類。它可以從父類那裡繼承所有非私有的屬性和方法,作為自己的成員。

Ⅱ 在類內部怎麼調用類外聲明的函數

函數聲明或定義在類定義之前,就可以在類內調用

Ⅲ Python如何調用自定義類中的函數

定義一個函數只給了函數一個名稱,指定了函數里包含的參數,和代碼塊結構。這個函數的基本結構完成以後,你可以通過另一個函數調用執行,也可以直接從Python提示符執行。

如下實例調用了printme()函數:

復制代碼 代碼如下:#!/usr/bin/python

# Function definition is here
def printme( str ):
"列印任何傳入的字元串"
print str;
return;

# Now you can call printme function
printme("我要調用用戶自定義函數!");
printme("再次調用同一函數");
#以上實例輸出結果:

#我要調用用戶自定義函數!
#再次調用同一函數

Ⅳ 如何在一個類中訪問另一個類的成員函數

假設你想在類A里調用類B的函數int f(x),兩種辦法:
1、class A::B 也就是說將B定義為A的父類, 這樣你就可以自然的在A裡面用f(x)了
2、class A
{
B B_ins;
int g(x);
}

int g(x)
{
return B_ins.f(x)
}
也就是說你可以在A裡面使用一個B的對象作為成員變數,這樣就可以用他的函數了

Ⅳ 一個類調用另一個類里邊定義的函數,該怎樣調用啊

#include<iostream>
#include <string>
using namespace std;
class CD
{
public:
CD(string name, string *songs1){
songer=name;
songs=songs1;
}
// 獲得歌手的名稱
string getSonger() {
return songer;
}
// 獲得某首歌的歌名
string getSong(int index) {
return songs[index-1];
}
// 列出CD的內容、
void listSongs() {
cout<<"songer:"<<songer<<endl;
for(int i=0;i<6;i++)
cout<<"第"<<i+1<<"首歌: "<<songs[i]<<endl;
}
private:
string songer; // 歌手的名字。
string *songs; // 每張專輯6首歌的名字。
};
class CDPlayer
{
public:
CDPlayer(){}
// 提供給用戶一個按鈕菜單.
// 通過這個菜單,用戶可以選擇
// 1. 插入CD // 2. 播放CD // 3. 彈出CD // 0. 關機
void showButtons() {
cout<<"*********************************"<<endl;
cout<<"* 1. 播放CD *"<<endl;
cout<<"* 2. 插入CD *"<<endl;
cout<<"* 3. 彈出CD *"<<endl;
cout<<"* 0. 關機 *"<<endl;
}
// 插入CD. void insertCD(CD* cd),形參是指向CD對象的指針.
// 如果CDPlayer中已經有CD,提示先取出CD;
// 如果CDPlayer中沒有CD,顯示插入了哪位歌星的CD.
void insertCD(CD* cd){
if(cd==NULL){
cout<<" 插入了周傑倫的CD...... "<<endl;
cdIn=true;
}
else{
cout<<"已經有CD,請先取出......"<<endl;
cdIn=false;
}
}
// 彈出CD. CD* ejectCD(),返回值是指向該CD對象的指針.
// 如果CDPlayer中已經有CD,顯示彈出了哪位歌星的CD,返回該CD的指針;
// 如果CDPlayer中沒有CD,提示CDPlayer中沒有CD,返回NULL.
CD* ejectCD(){
if(cd!=NULL)
{
cout<<" 彈出了周傑倫的CD...... "<<endl;
return cd;
}
else
{
cout<<"已經沒有CD......"<<endl;
return NULL;
}
}
// 播放CD. void Play()
// 如果CDPlayer中已經有CD,顯示正在播放哪位歌星的CD,並列印CD中歌曲的清單;
// 如果CDPlayer中沒有CD,顯示CDPlayer中沒有CD,
// 並提示用戶插入CD.
void play(CD* cd) {
if(!cdIn)
cout<<" Please insert CD first "<<endl;
else{
cout<<" 正在播放周傑倫的CD...... "<<endl;
cd->listSongs(); // cd.listSongs();
}
}
private:
CD* cd; // 插入CDPlayer中的CD,它是指向CD對象的指針。沒有CD時為null
bool cdIn; // CDPlayer中是否已經插入CD
};
//主函數
void main()
{
int i;
string name;
string songs[6];
cout << "製造CD......\n";
// 輸入歌手名字
cout << " Songer's Name: ";
cin >> name; // 輸入:周傑倫
// 輸入該歌手的六首歌名(青花瓷、菊花台、三節棍等)
for (i = 0; i < 6; i++)
{
cout << " song" << (i+1) << "#: ";
cin >> songs[i];
}
// 製造CD
CD cd(name, songs);
// 顯示CD的內容
cd.listSongs();
// 製造CDplayer
CDPlayer player;
// 生成播放機的按鈕
player.showButtons();
// 播放
player.play(&cd); // 列印:Please insert CD first
// 插入CD
player.insertCD(&cd); // 列印:插入了周傑倫的CD......
// 播放
player.play(&cd); // 列印:正在播放周傑倫的CD......
player.ejectCD(); // 列印:彈出了周傑倫的CD......
// 另造一張CD,歌手和歌的錄入省略。
CD cd2(name, songs);
player.insertCD(&cd2);
player.play(&cd);
}

Ⅵ 如何在主函數中調用結構體中聲明的函數

帶函數的結構體,實際上就是 class. 只不過它的函數 都屬 public.
你可以在主函數內建一個 它的 對象。用 對象的成員成員函數調用。
c++ 程序例子:
#include<iostream>
using namespace std;

struct ss{
int a;
void ff();
};
void ss::ff(){cout << a <<endl;};

int main()
{
struct ss obj;
obj.a=1234;
obj.ff();
return 0;
}
輸出: 1234

Ⅶ 在C++中怎麼調用類中的私有成員函數

C++中調用類的私有成員函數的方法就是,在該類中再聲明定義一個公有成員函數
在其函數內部調用自己的私有成員函數,向外使用的話,在別的類中包含該類的頭文件,就可以通過公有函數隱式的訪問私有成員函數;
給個簡單例子
class A
{
private:
void fuck();
public:
void howfuck()
{
fuck();
}
};

#include "A.h"
class Fuck
{
public:
A xiha;

}

xiha.howfuck(); //這樣就可以訪問A類的私有成員fuck函數了

Ⅷ C++中,如何在main函數中訪問類中被聲明成public的數據成員。程序運行到27-28行出錯,不知道原因在哪裡

需要設計一個public成員函數來訪問數據成員,可以在第12行以後寫如下函數:
void get_x(){return x;}
然後把你那上面出錯的27行改為
int n=dt1.get_x();
就好了

Ⅸ java中主函數怎麼調用類定義中的函數

main是靜態函數,不可直接調用非靜態函數table。要在main中定義一個類的對象才可以調用table方法。
在main中用this.table();應該可以

Ⅹ c++中類內的函數怎麼調用

你必須先創建一個bookmanger副本,然後用
bookmanger bm;
bm.add()
或者,
bookmanger *bm = new bookmanger();
bookmanger->add()調用。

如果你一定要用類名來調用,可以定義函數為static:static void bookmanger::add()。

函數中的manager拼錯了,應該是bookmanager。

c++構造函數:C++用以初始化對象的數據成員的一種函數。完好定義的類一旦建立,就可看成完全封裝的實體,可以作為一個整體單元使用。類的實際內部工作隱藏起來,使用完好定義的類的用戶不需要知道類是如何工作的,只要知道如何使用它即可。

(10)如何訪問類中已經聲明的函數擴展閱讀

構造函數作用:

初始化對象的數據成員,規則:構造函數與類同名且無返回值,在對象實例化時自動調用、構造函數可以有多個重載形式、實例化對象時僅用到一個構造函數、當用戶沒有定義構造函數時,編譯器自動生產一個構造函數。

編譯系統為對象的每個數據成員(m_strName)分配內存空間,並調用構造函數School()自動地初始化對象的m_strName值設置為"bullworth"。

在C++中,類是支持數據封裝的工具,對象則是數據封裝的實現。C++通過建立用戶定義類支持數據封裝和數據隱藏。

在面向對象的程序設計中,將數據和對該數據進行合法操作的函數封裝在一起作為一個類的定義。對象被說明為具有一個給定類的變數。每個給定類的對象包含這個類所規定的若干私有成員、公有成員及保護成員。