E D R , A S I H C RSS

Object Programming InC

Object Programming In C


sample code

~cpp
#include <stdio.h>
struct testClass 
{  
    int attrib; 
    void (*method1)(int);   
};
  
void Operator1(int x) {
	printf("%d\n", x);
}

int main()  
{  
    testClass instanceClass;  
    instanceClass.method1= &Operator1; 
    instanceClass.method1(3);  // or Operator1(3);  
	return 0;
} 

thread

๊ฒฐ๊ตญ ฌธ„ฐ.

--
typedef struct
{
int attrib;
void (*method1)(int);
}testClass; --ด˜˜ธ
----
—ฌ๊ธฐ„œ Question. ๋งŒผ attrib ๋ฅผ ฐ๊ณ  ‹ถ๋‹ค๋ฉด? --1002
----
๊ฒฐ๊ตญ private๊ฐ€ —†๋‹จ †Œ๋ฆฐ๋ฐ... ปดŒŒผ ๊นŒง€๋งŒ •ด„œ lib ˜•ƒœ๋กœ header— public™” •  ๊ฒƒ๋งŒ ๊ณต๊ฐœ•œ๋‹ค๋ฉด... ๋ถˆ๊ฐ€๋Šฅด๊ตฐ...
ฐจ๋ผ๋ฆฌ  € ๊ตฌกฐฒด๋งŒ ๋‹ค๋ฅธ lib—  €žฅ‹œ‚ค๊ณ  ๋งฌ๋ฅผ ๋ถˆ๊ฐ€๋Šฅ•˜๊ฒŒ ๋‚ด๋ถ€—„œ๋งŒ —ฐ‚ฐ„ •œ๋‹ค๋ฉด ๋ชฐ๋ผ๋„. return value๋Š” kernelด๋‚˜ IPC๋กœ ๋„˜๊ฒจ ค˜•ผ•  ๋“ฏ.
ด๋ ‡๊ฒŒ ๋œ๋‹ค๋ฉด class—„œ private๋ฅผ “ฐ๋Š” ๋ชฉ „ ๋‹ฌ„€ •˜ง€๋งŒ šจšฉ„€ ๊˜  œ๋กœ๊ฒ ๊ณ ...
attrib„ ฐ๋Š”๋‹ค๋Š” ๋ฌธ œ๋ฅผ ฃผ…จ๋Š”๋ฐ... attrib๊ฐ€ private๋ผ ๊ฐ€ ••˜๊ณ , ๋”ฐ๋ผ„œ method1˜ •จˆ˜๊ฐ€ ๊ตฌกฐฒด(ด๋ž˜Šค)˜ attrib„ ๊ณ นœ๋‹ค๋Š” ๋œปœผ๋กœ Œ๋‹จ•˜๊ณ  ƒ๊ฐ•ด๋ณธ๋‹ค๋ฉด... C++˜ this๋ž€ ˜ˆ•ฝ–ด๊ฐ€ —†๋‹ค๋ฉด C–ธ–ด—„œ C++๊ณผ ๊ฐ™€ class˜ ‘œ˜„€ –ด๋ คšธ ๋“ฏ. ๋ฉ”๋ชจ๋ฆฌฃผ†Œ๋กœ ๊ฐ€๋Šฅ„ •  ˆ˜๋„ žˆœผ๋‚˜, ฝ”๋“œ กฐž‘„ –ด…ˆ๋ธ”๋ฆฌ ฐจ›œผ๋กœ ๋‚ด๋ ค๊ฐ€ •˜๋‚˜•˜๋‚˜ †๋ด•ผ•จ... (ด ๋‹ตด •„๋‹ˆ๋ผ๋ฉด ๋‚ญŒจ)
--ด˜˜ธ
•จˆ˜ธž๋กœ ๋ช…‹œ œผ๋กœ ฌธ„ฐ๋ฅผ ๋„˜๊ฒจฃผ๋˜ง€ •ด•ผ๊ฒ ๋„ค ใ…ก.ใ…ก;; ๊ฒฐ๊ตญ ๋ป˜ง“ด๊ตฌ๋งŒ ใ…‹ใ…‹ใ…‹ - eternalbleu

๋ณ„ ๋‹ค๋ฅธ ๋œป€ •„๋‹ˆ๊ณ , C++ ปดŒŒผ๋Ÿฌ˜ ๊ฒฝšฐ ๋ฉ”†Œ๋“œธ ๊ฒฝšฐ ธž๋กœ„œ this ๋ฅผ ž๋™œผ๋กœ ๋„˜๊ฒจค€๋‹ค๊ณ  •ด„œ. ๊ทธ๋ฆฌ๊ณ , attrib ด private ด •„๋‹Œ public ด๋ผ •˜๋”๋ผ๋„, ๋˜‘๊ฐ™€ ˆ๋ฌธด ๊ฐ€๋Šฅ• ๋“ฏ. --1002
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:53
Processing time 0.0114 sec